xwords/xwords4/common/server.c

4490 lines
145 KiB
C
Raw Normal View History

/* -*- compile-command: "cd ../linux && make -j3 MEMDEBUG=TRUE"; -*- */
2003-11-01 06:35:29 +01:00
/*
* Copyright 1997 - 2020 by Eric House (xwords@eehouse.org). All rights
* reserved.
2003-11-01 06:35:29 +01:00
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#include "comtypes.h"
#include "server.h"
#include "util.h"
#include "model.h"
#include "comms.h"
#include "memstream.h"
#include "game.h"
#include "states.h"
#include "xwproto.h"
#include "util.h"
#include "pool.h"
#include "engine.h"
#include "strutils.h"
#include "dbgutil.h"
2003-11-01 06:35:29 +01:00
#include "LocalizedStrIncludes.h"
#ifdef CPLUS
extern "C" {
#endif
#define LOCAL_ADDR NULL
enum {
END_REASON_USER_REQUEST,
END_REASON_OUT_OF_TILES,
END_REASON_TOO_MANY_PASSES
};
typedef XP_U8 GameEndReason;
2020-03-29 00:25:30 +01:00
typedef enum { DUPE_STUFF_TRADES_SERVER,
DUPE_STUFF_MOVES_SERVER,
DUPE_STUFF_MOVE_CLIENT,
DUPE_STUFF_PAUSE,
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
} DUPE_STUFF;
2003-11-01 06:35:29 +01:00
typedef struct ServerPlayer {
2008-05-31 05:26:16 +02:00
EngineCtxt* engine; /* each needs his own so don't interfere each other */
XP_S8 deviceIndex; /* 0 means local, -1 means unknown */
2003-11-01 06:35:29 +01:00
} ServerPlayer;
#define UNKNOWN_DEVICE -1
#define SERVER_DEVICE 0
typedef struct RemoteAddress {
XP_PlayerAddr channelNo;
#ifdef STREAM_VERS_BIGBOARD
XP_U8 streamVersion;
#endif
2003-11-01 06:35:29 +01:00
} RemoteAddress;
/* These are the parts of the server's state that needs to be preserved
across a reset/new game */
typedef struct ServerVolatiles {
ModelCtxt* model;
CommsCtxt* comms;
XW_UtilCtxt* util;
XW_DUtilCtxt* dutil;
2003-11-01 06:35:29 +01:00
CurGameInfo* gi;
TurnChangeListener turnChangeListener;
void* turnChangeData;
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
TimerChangeListener timerChangeListener;
void* timerChangeData;
2003-11-01 06:35:29 +01:00
GameOverListener gameOverListener;
void* gameOverData;
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
XP_U16 bitsPerTile;
2003-11-01 06:35:29 +01:00
XP_Bool showPrevMove;
XP_Bool pickTilesCalled[MAX_NUM_PLAYERS];
2003-11-01 06:35:29 +01:00
} ServerVolatiles;
typedef struct ServerNonvolatiles {
XP_U32 lastMoveTime; /* seconds of last turn change */
XP_S32 dupTimerExpires;
2003-11-01 06:35:29 +01:00
XP_U8 nDevices;
XW_State gameState;
XW_State stateAfterShow;
2008-05-31 05:26:16 +02:00
XP_S8 currentTurn; /* invalid when game is over */
XP_S8 quitter; /* -1 unless somebody resigned */
XP_U8 pendingRegistrations;
2003-11-01 06:35:29 +01:00
XP_Bool showRobotScores;
XP_Bool sortNewTiles;
#ifdef STREAM_VERS_BIGBOARD
XP_U8 streamVersion;
#endif
#ifdef XWFEATURE_SLOW_ROBOT
XP_U16 robotThinkMin, robotThinkMax; /* not saved (yet) */
XP_U16 robotTradePct;
#endif
#ifdef XWFEATURE_ROBOTPHONIES
XP_U16 makePhonyPct;
#endif
2003-11-01 06:35:29 +01:00
RemoteAddress addresses[MAX_NUM_PLAYERS];
XWStreamCtxt* prevMoveStream; /* save it to print later */
XWStreamCtxt* prevWordsStream;
XP_Bool dupTurnsMade[MAX_NUM_PLAYERS];
XP_Bool dupTurnsForced[MAX_NUM_PLAYERS];
XP_Bool dupTurnsSent; /* used on client only */
2003-11-01 06:35:29 +01:00
} ServerNonvolatiles;
struct ServerCtxt {
ServerVolatiles vol;
ServerNonvolatiles nv;
PoolContext* pool;
BadWordInfo illegalWordInfo;
XP_U16 lastMoveSource;
ServerPlayer players[MAX_NUM_PLAYERS];
2004-02-18 05:28:32 +01:00
XP_Bool serverDoing;
#ifdef XWFEATURE_SLOW_ROBOT
XP_Bool robotWaiting;
#endif
2003-11-01 06:35:29 +01:00
MPSLOT
};
#ifdef XWFEATURE_SLOW_ROBOT
# define ROBOTWAITING(s) (s)->robotWaiting
#else
# define ROBOTWAITING(s) XP_FALSE
#endif
2020-03-29 00:25:30 +01:00
# define dupe_timerRunning() server_canPause(server)
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
#define NPASSES_OK(s) model_recentPassCountOk((s)->vol.model)
2003-11-01 06:35:29 +01:00
/******************************* prototypes *******************************/
static XP_Bool assignTilesToAll( ServerCtxt* server );
static void makePoolOnce( ServerCtxt* server );
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
static XP_S8 getIndexForDevice( const ServerCtxt* server,
XP_PlayerAddr channelNo );
static XP_S8 getIndexForStream( const ServerCtxt* server,
const XWStreamCtxt* stream );
2003-11-01 06:35:29 +01:00
static void nextTurn( ServerCtxt* server, XP_S16 nxtTurn );
static void doEndGame( ServerCtxt* server, XP_S16 quitter );
static void endGameInternal( ServerCtxt* server, GameEndReason why, XP_S16 quitter );
static void badWordMoveUndoAndTellUser( ServerCtxt* server, BadWordInfo* bwi );
static XP_Bool tileCountsOk( const ServerCtxt* server );
static void setTurn( ServerCtxt* server, XP_S16 turn );
static XWStreamCtxt* mkServerStream( ServerCtxt* server );
static void fetchTiles( ServerCtxt* server, XP_U16 playerNum, XP_U16 nToFetch,
const TrayTileSet* tradedTiles,
TrayTileSet* resultTiles );
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
static void finishMove( ServerCtxt* server, TrayTileSet* newTiles,
XP_U16 turn );
static XP_Bool dupe_checkTurns( ServerCtxt* server );
static void dupe_forceCommits( ServerCtxt* server );
static void dupe_clearState( ServerCtxt* server );
static XP_U16 dupe_nextTurn( const ServerCtxt* server );
static void dupe_commitAndReportMove( ServerCtxt* server, XP_U16 winner,
XP_U16 nPlayers, XP_U16* scores,
XP_U16 nTiles );
static XP_Bool commitMoveImpl( ServerCtxt* server, XP_U16 player,
TrayTileSet* newTilesP, XP_Bool forced );
static void dupe_makeAndReportTrade( ServerCtxt* server );
static void dupe_transmitPause( ServerCtxt* server, DupPauseType typ,
XP_U16 turn, const XP_UCHAR* msg,
XP_S16 skipDev );
static void dupe_resetTimer( ServerCtxt* server );
static XP_Bool setDupCheckTimer( ServerCtxt* server );
static void sortTilesIf( ServerCtxt* server, XP_S16 turn );
2003-11-01 06:35:29 +01:00
#ifndef XWFEATURE_STANDALONE_ONLY
static XWStreamCtxt* messageStreamWithHeader( ServerCtxt* server,
XP_U16 devIndex, XW_Proto code );
2003-11-01 06:35:29 +01:00
static XP_Bool handleRegistrationMsg( ServerCtxt* server,
XWStreamCtxt* stream );
static XP_S8 registerRemotePlayer( ServerCtxt* server, XWStreamCtxt* stream );
2003-11-01 06:35:29 +01:00
static void server_sendInitialMessage( ServerCtxt* server );
static void sendBadWordMsgs( ServerCtxt* server );
static XP_Bool handleIllegalWord( ServerCtxt* server,
XWStreamCtxt* incoming );
2003-11-01 06:35:29 +01:00
static void tellMoveWasLegal( ServerCtxt* server );
static void writeProto( const ServerCtxt* server, XWStreamCtxt* stream,
XW_Proto proto );
2003-11-01 06:35:29 +01:00
#endif
#define PICK_NEXT -1
#define PICK_CUR -2
2003-11-01 06:35:29 +01:00
#if defined DEBUG && ! defined XWFEATURE_STANDALONE_ONLY
static char*
getStateStr( XW_State st )
{
# define CASESTR(c) case c: return #c
switch( st ) {
CASESTR(XWSTATE_NONE);
CASESTR(XWSTATE_BEGIN);
CASESTR(XWSTATE_NEED_SHOWSCORE);
CASESTR(XWSTATE_RECEIVED_ALL_REG);
CASESTR(XWSTATE_NEEDSEND_BADWORD_INFO);
CASESTR(XWSTATE_MOVE_CONFIRM_WAIT);
CASESTR(XWSTATE_MOVE_CONFIRM_MUSTSEND);
CASESTR(XWSTATE_NEEDSEND_ENDGAME);
CASESTR(XWSTATE_INTURN);
CASESTR(XWSTATE_GAMEOVER);
default:
return "unknown";
}
# undef CASESTR
}
#endif
#ifdef DEBUG
static void
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
logNewState( XW_State old, XW_State newst, const char* caller )
{
if ( old != newst ) {
char* oldStr = getStateStr(old);
char* newStr = getStateStr(newst);
2020-03-24 23:59:33 +01:00
XP_LOGFF( "state transition %s => %s (from %s())", oldStr, newStr, caller );
}
}
# define SETSTATE( server, st ) { \
XW_State old = (server)->nv.gameState; \
(server)->nv.gameState = (st); \
logNewState( old, st, __func__); \
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
}
#else
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
# define SETSTATE( s, st ) (s)->nv.gameState = (st)
#endif
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
static XP_Bool
inDuplicateMode( const ServerCtxt* server )
{
XP_Bool result = server->vol.gi->inDuplicateMode;
// LOG_RETURNF( "%d", result );
return result;
}
2003-11-01 06:35:29 +01:00
/*****************************************************************************
*
****************************************************************************/
#ifndef XWFEATURE_STANDALONE_ONLY
static void
syncPlayers( ServerCtxt* server )
{
XP_U16 ii;
CurGameInfo* gi = server->vol.gi;
LocalPlayer* lp = gi->players;
ServerPlayer* player = server->players;
for ( ii = 0; ii < gi->nPlayers; ++ii, ++lp, ++player ) {
if ( !lp->isLocal/* && !lp->name */ ) {
++server->nv.pendingRegistrations;
}
player->deviceIndex = lp->isLocal? SERVER_DEVICE : UNKNOWN_DEVICE;
}
}
#else
# define syncPlayers( server )
#endif
static XP_Bool
amServer( const ServerCtxt* server )
{
XP_Bool result = SERVER_ISSERVER == server->vol.gi->serverRole;
// LOG_RETURNF( "%d (seed=%d)", result, comms_getChannelSeed( server->vol.comms ) );
return result;
}
2003-11-01 06:35:29 +01:00
static void
initServer( ServerCtxt* server )
{
setTurn( server, -1 ); /* game isn't under way yet */
2003-11-01 06:35:29 +01:00
if ( 0 ) {
#ifndef XWFEATURE_STANDALONE_ONLY
} else if ( server->vol.gi->serverRole == SERVER_ISCLIENT ) {
SETSTATE( server, XWSTATE_NONE );
#endif
2003-11-01 06:35:29 +01:00
} else {
SETSTATE( server, XWSTATE_BEGIN );
2003-11-01 06:35:29 +01:00
}
syncPlayers( server );
2003-11-01 06:35:29 +01:00
2008-05-31 05:26:16 +02:00
server->nv.nDevices = 1; /* local device (0) is always there */
#ifdef STREAM_VERS_BIGBOARD
server->nv.streamVersion = STREAM_SAVE_PREVWORDS; /* default to old */
#endif
server->nv.quitter = -1;
2003-11-01 06:35:29 +01:00
} /* initServer */
ServerCtxt*
server_make( MPFORMAL ModelCtxt* model, CommsCtxt* comms, XW_UtilCtxt* util )
{
ServerCtxt* result = (ServerCtxt*)XP_MALLOC( mpool, sizeof(*result) );
if ( result != NULL ) {
XP_MEMSET( result, 0, sizeof(*result) );
MPASSIGN(result->mpool, mpool);
result->vol.model = model;
result->vol.comms = comms;
result->vol.util = util;
result->vol.dutil = util_getDevUtilCtxt( util );
2003-11-01 06:35:29 +01:00
result->vol.gi = util->gameInfo;
initServer( result );
}
return result;
} /* server_make */
static void
getNV( XWStreamCtxt* stream, ServerNonvolatiles* nv, XP_U16 nPlayers )
{
XP_U16 ii;
XP_U16 version = stream_getVersion( stream );
2003-11-01 06:35:29 +01:00
if ( STREAM_VERS_DICTNAME <= version ) {
nv->lastMoveTime = stream_getU32( stream );
}
if ( STREAM_VERS_DUPLICATE <= version ) {
nv->dupTimerExpires = stream_getU32( stream );
}
if ( version < STREAM_VERS_SERVER_SAVES_TOSHOW ) {
/* no longer used */
(void)stream_getBits( stream, 3 ); /* was npassesinrow */
}
nv->nDevices = (XP_U8)stream_getBits( stream, NDEVICES_NBITS );
if ( version > STREAM_VERS_41B4 ) {
++nv->nDevices;
}
2003-11-01 06:35:29 +01:00
XP_ASSERT( XWSTATE_LAST <= 1<<4 );
nv->gameState = (XW_State)stream_getBits( stream, XWSTATE_NBITS );
if ( version >= STREAM_VERS_SERVER_SAVES_TOSHOW ) {
nv->stateAfterShow = (XW_State)stream_getBits( stream, XWSTATE_NBITS );
}
2003-11-01 06:35:29 +01:00
nv->currentTurn = (XP_S8)stream_getBits( stream, NPLAYERS_NBITS ) - 1;
if ( STREAM_VERS_DICTNAME <= version ) {
nv->quitter = (XP_S8)stream_getBits( stream, NPLAYERS_NBITS ) - 1;
}
nv->pendingRegistrations = (XP_U8)stream_getBits( stream, NPLAYERS_NBITS );
2003-11-01 06:35:29 +01:00
for ( ii = 0; ii < nPlayers; ++ii ) {
nv->addresses[ii].channelNo =
(XP_PlayerAddr)stream_getBits( stream, 16 );
#ifdef STREAM_VERS_BIGBOARD
nv->addresses[ii].streamVersion = STREAM_VERS_BIGBOARD <= version ?
stream_getBits( stream, 8 ) : STREAM_SAVE_PREVWORDS;
#endif
}
#ifdef STREAM_VERS_BIGBOARD
if ( STREAM_SAVE_PREVWORDS < version ) {
nv->streamVersion = stream_getU8 ( stream );
2003-11-01 06:35:29 +01:00
}
2019-02-07 04:34:55 +01:00
/* XP_LOGF( "%s: read streamVersion: 0x%x", __func__, nv->streamVersion ); */
#endif
if ( version >= STREAM_VERS_DUPLICATE ) {
for ( ii = 0; ii < nPlayers; ++ii ) {
nv->dupTurnsMade[ii] = stream_getBits( stream, 1 );
XP_LOGF( "%s(): dupTurnsMade[%d]: %d", __func__, ii, nv->dupTurnsMade[ii] );
nv->dupTurnsForced[ii] = stream_getBits( stream, 1 );
}
nv->dupTurnsSent = stream_getBits( stream, 1 );
}
2003-11-01 06:35:29 +01:00
} /* getNV */
static void
putNV( XWStreamCtxt* stream, const ServerNonvolatiles* nv, XP_U16 nPlayers )
2003-11-01 06:35:29 +01:00
{
XP_U16 ii;
2003-11-01 06:35:29 +01:00
stream_putU32( stream, nv->lastMoveTime );
stream_putU32( stream, nv->dupTimerExpires );
2003-11-01 06:35:29 +01:00
/* number of players is upper limit on device count */
stream_putBits( stream, NDEVICES_NBITS, nv->nDevices-1 );
2003-11-01 06:35:29 +01:00
XP_ASSERT( XWSTATE_LAST <= 1<<4 );
stream_putBits( stream, XWSTATE_NBITS, nv->gameState );
stream_putBits( stream, XWSTATE_NBITS, nv->stateAfterShow );
2003-11-01 06:35:29 +01:00
/* +1: make -1 (NOTURN) into a positive number */
XP_ASSERT( -1 <= nv->currentTurn && nv->currentTurn < MAX_NUM_PLAYERS );
2003-11-01 06:35:29 +01:00
stream_putBits( stream, NPLAYERS_NBITS, nv->currentTurn+1 );
stream_putBits( stream, NPLAYERS_NBITS, nv->quitter+1 );
stream_putBits( stream, NPLAYERS_NBITS, nv->pendingRegistrations );
2003-11-01 06:35:29 +01:00
for ( ii = 0; ii < nPlayers; ++ii ) {
stream_putBits( stream, 16, nv->addresses[ii].channelNo );
#ifdef STREAM_VERS_BIGBOARD
stream_putBits( stream, 8, nv->addresses[ii].streamVersion );
#endif
2003-11-01 06:35:29 +01:00
}
#ifdef STREAM_VERS_BIGBOARD
stream_putU8( stream, nv->streamVersion );
2019-02-07 04:34:55 +01:00
/* XP_LOGF( "%s: wrote streamVersion: 0x%x", __func__, nv->streamVersion ); */
#endif
for ( ii = 0; ii < nPlayers; ++ii ) {
stream_putBits( stream, 1, nv->dupTurnsMade[ii] );
stream_putBits( stream, 1, nv->dupTurnsForced[ii] );
}
stream_putBits( stream, 1, nv->dupTurnsSent );
2003-11-01 06:35:29 +01:00
} /* putNV */
static XWStreamCtxt*
readStreamIf( ServerCtxt* server, XWStreamCtxt* in )
{
XWStreamCtxt* result = NULL;
XP_U16 len = stream_getU16( in );
if ( 0 < len ) {
result = mkServerStream( server );
stream_getFromStream( result, in, len );
}
return result;
}
static void
writeStreamIf( XWStreamCtxt* dest, XWStreamCtxt* src )
{
XP_U16 len = !!src ? stream_getSize( src ) : 0;
stream_putU16( dest, len );
if ( 0 < len ) {
XWStreamPos pos = stream_getPos( src, POS_READ );
stream_getFromStream( dest, src, len );
(void)stream_setPos( src, POS_READ, pos );
}
}
static void
informMissing( const ServerCtxt* server )
{
XP_Bool isServer = amServer( server );
const CommsCtxt* comms = server->vol.comms;
CommsAddrRec addr;
CommsAddrRec* addrP;
if ( !comms ) {
addrP = NULL;
} else {
addrP = &addr;
comms_getAddr( comms, addrP );
}
XP_U16 nDevs = isServer ? server->nv.nDevices - 1 : 0;
XP_U16 nPending = isServer ? server->nv.pendingRegistrations : 0;
util_informMissing( server->vol.util, isServer, addrP, nDevs, nPending );
}
XP_U16
server_getPendingRegs( const ServerCtxt* server )
{
XP_U16 nPending = amServer( server ) ? server->nv.pendingRegistrations : 0;
return nPending;
}
2003-11-01 06:35:29 +01:00
ServerCtxt*
server_makeFromStream( MPFORMAL XWStreamCtxt* stream, ModelCtxt* model,
CommsCtxt* comms, XW_UtilCtxt* util, XP_U16 nPlayers )
{
ServerCtxt* server;
XP_U16 version = stream_getVersion( stream );
2012-08-22 16:44:21 +02:00
short ii;
2003-11-01 06:35:29 +01:00
server = server_make( MPPARM(mpool) model, comms, util );
getNV( stream, &server->nv, nPlayers );
if ( stream_getBits(stream, 1) != 0 ) {
server->pool = pool_makeFromStream( MPPARM(mpool) stream );
2003-11-01 06:35:29 +01:00
}
2012-08-22 16:44:21 +02:00
for ( ii = 0; ii < nPlayers; ++ii ) {
ServerPlayer* player = &server->players[ii];
2003-11-01 06:35:29 +01:00
player->deviceIndex = stream_getU8( stream );
if ( stream_getU8( stream ) != 0 ) {
player->engine = engine_makeFromStream( MPPARM(mpool)
stream, util );
2003-11-01 06:35:29 +01:00
}
}
if ( STREAM_VERS_ALWAYS_MULTI <= version
#ifndef PREV_WAS_STANDALONE_ONLY
|| XP_TRUE
2003-11-01 06:35:29 +01:00
#endif
) {
server->lastMoveSource = (XP_U16)stream_getBits( stream, 2 );
}
2003-11-01 06:35:29 +01:00
if ( version >= STREAM_SAVE_PREVMOVE ) {
server->nv.prevMoveStream = readStreamIf( server, stream );
}
if ( version >= STREAM_SAVE_PREVWORDS ) {
server->nv.prevWordsStream = readStreamIf( server, stream );
}
2003-11-01 06:35:29 +01:00
informMissing( server );
2003-11-01 06:35:29 +01:00
return server;
} /* server_makeFromStream */
void
server_writeToStream( const ServerCtxt* server, XWStreamCtxt* stream )
2003-11-01 06:35:29 +01:00
{
2012-08-22 16:44:21 +02:00
XP_U16 ii;
2003-11-01 06:35:29 +01:00
XP_U16 nPlayers = server->vol.gi->nPlayers;
putNV( stream, &server->nv, nPlayers );
stream_putBits( stream, 1, server->pool != NULL );
if ( server->pool != NULL ) {
pool_writeToStream( server->pool, stream );
}
2012-08-22 16:44:21 +02:00
for ( ii = 0; ii < nPlayers; ++ii ) {
const ServerPlayer* player = &server->players[ii];
2003-11-01 06:35:29 +01:00
stream_putU8( stream, player->deviceIndex );
stream_putU8( stream, (XP_U8)(player->engine != NULL) );
if ( player->engine != NULL ) {
engine_writeToStream( player->engine, stream );
}
}
stream_putBits( stream, 2, server->lastMoveSource );
writeStreamIf( stream, server->nv.prevMoveStream );
writeStreamIf( stream, server->nv.prevWordsStream );
2003-11-01 06:35:29 +01:00
} /* server_writeToStream */
static void
cleanupServer( ServerCtxt* server )
{
2012-08-22 16:44:21 +02:00
XP_U16 ii;
for ( ii = 0; ii < VSIZE(server->players); ++ii ){
ServerPlayer* player = &server->players[ii];
2003-11-01 06:35:29 +01:00
if ( player->engine != NULL ) {
engine_destroy( player->engine );
}
}
XP_MEMSET( server->players, 0, sizeof(server->players) );
if ( server->pool != NULL ) {
pool_destroy( server->pool );
server->pool = (PoolContext*)NULL;
}
if ( !!server->nv.prevMoveStream ) {
stream_destroy( server->nv.prevMoveStream );
2003-11-01 06:35:29 +01:00
}
if ( !!server->nv.prevWordsStream ) {
stream_destroy( server->nv.prevWordsStream );
}
XP_MEMSET( &server->nv, 0, sizeof(server->nv) );
2003-11-01 06:35:29 +01:00
} /* cleanupServer */
void
server_reset( ServerCtxt* server, CommsCtxt* comms )
2003-11-01 06:35:29 +01:00
{
ServerVolatiles vol = server->vol;
cleanupServer( server );
vol.comms = comms;
2003-11-01 06:35:29 +01:00
server->vol = vol;
2003-11-01 06:35:29 +01:00
initServer( server );
} /* server_reset */
void
server_destroy( ServerCtxt* server )
{
cleanupServer( server );
XP_FREE( server->mpool, server );
} /* server_destroy */
#ifdef XWFEATURE_SLOW_ROBOT
static int
figureSleepTime( const ServerCtxt* server )
{
int result = 0;
XP_U16 min = server->nv.robotThinkMin;
XP_U16 max = server->nv.robotThinkMax;
if ( min < max ) {
int diff = max - min + 1;
result = XP_RANDOM() % diff;
}
result += min;
return result;
}
#endif
2003-11-01 06:35:29 +01:00
void
2015-07-07 05:23:22 +02:00
server_prefsChanged( ServerCtxt* server, const CommonPrefs* cp )
2003-11-01 06:35:29 +01:00
{
server->nv.showRobotScores = cp->showRobotScores;
server->nv.sortNewTiles = cp->sortNewTiles;
#ifdef XWFEATURE_SLOW_ROBOT
server->nv.robotThinkMin = cp->robotThinkMin;
server->nv.robotThinkMax = cp->robotThinkMax;
server->nv.robotTradePct = cp->robotTradePct;
#endif
#ifdef XWFEATURE_ROBOTPHONIES
server->nv.makePhonyPct = cp->makePhonyPct;
#endif
2003-11-01 06:35:29 +01:00
} /* server_prefsChanged */
XP_S16
server_countTilesInPool( ServerCtxt* server )
{
XP_S16 result = -1;
PoolContext* pool = server->pool;
if ( !!pool ) {
result = pool_getNTilesLeft( pool );
}
return result;
} /* server_countTilesInPool */
/* I'm a client device. It's my job to start the whole conversation by
* contacting the server and telling him that I exist (and some other stuff,
* including what the players here want to be called.)
*/
#define NAME_LEN_NBITS 6
#define MAX_NAME_LEN ((1<<(NAME_LEN_NBITS-1))-1)
#ifndef XWFEATURE_STANDALONE_ONLY
XP_Bool
2003-11-01 06:35:29 +01:00
server_initClientConnection( ServerCtxt* server, XWStreamCtxt* stream )
{
XP_Bool result;
LOG_FUNC();
2003-11-01 06:35:29 +01:00
CurGameInfo* gi = server->vol.gi;
XP_U16 nPlayers;
2003-11-01 06:35:29 +01:00
LocalPlayer* lp;
#ifdef DEBUG
XP_U16 ii = 0;
2003-11-01 06:35:29 +01:00
#endif
XP_ASSERT( gi->serverRole == SERVER_ISCLIENT );
XP_ASSERT( stream != NULL );
result = server->nv.gameState == XWSTATE_NONE;
if ( result ) {
stream_open( stream );
2003-11-01 06:35:29 +01:00
writeProto( server, stream, XWPROTO_DEVICE_REGISTRATION );
2003-11-01 06:35:29 +01:00
nPlayers = gi->nPlayers;
XP_ASSERT( nPlayers > 0 );
XP_U16 localPlayers = gi_countLocalPlayers( gi, XP_FALSE);
XP_ASSERT( 0 < localPlayers );
stream_putBits( stream, NPLAYERS_NBITS, localPlayers );
2003-11-01 06:35:29 +01:00
for ( lp = gi->players; nPlayers-- > 0; ++lp ) {
XP_UCHAR* name;
XP_U8 len;
2003-11-01 06:35:29 +01:00
#ifdef DEBUG
XP_ASSERT( ii < MAX_NUM_PLAYERS );
++ii;
#endif
if ( !lp->isLocal ) {
continue;
}
2003-11-01 06:35:29 +01:00
stream_putBits( stream, 1, LP_IS_ROBOT(lp) ); /* better not to
send this */
/* The first nPlayers players are the ones we'll use. The local flag
doesn't matter when for SERVER_ISCLIENT. */
name = emptyStringIfNull(lp->name);
len = XP_STRLEN(name);
if ( len > MAX_NAME_LEN ) {
len = MAX_NAME_LEN;
}
stream_putBits( stream, NAME_LEN_NBITS, len );
stream_putBytes( stream, name, len );
2019-03-09 21:12:47 +01:00
XP_LOGF( "%s(): wrote local name %s", __func__, name );
2003-11-01 06:35:29 +01:00
}
#ifdef STREAM_VERS_BIGBOARD
stream_putU8( stream, CUR_STREAM_VERS );
#endif
} else {
2017-07-19 15:16:22 +02:00
XP_LOGF( "%s: wierd state: %s (expected XWSTATE_NONE); dropping message",
__func__, getStateStr(server->nv.gameState) );
2003-11-01 06:35:29 +01:00
}
stream_destroy( stream );
return result;
2003-11-01 06:35:29 +01:00
} /* server_initClientConnection */
#endif
#ifdef XWFEATURE_CHAT
static void
sendChatTo( ServerCtxt* server, XP_U16 devIndex, const XP_UCHAR* msg,
XP_S8 from, XP_U32 timestamp )
{
if ( comms_canChat( server->vol.comms ) ) {
XWStreamCtxt* stream = messageStreamWithHeader( server, devIndex,
XWPROTO_CHAT );
stringToStream( stream, msg );
stream_putU8( stream, from );
stream_putU32( stream, timestamp );
stream_destroy( stream );
} else {
XP_LOGF( "%s: dropping chat %s; queue too full?", __func__, msg );
}
}
static void
sendChatToClientsExcept( ServerCtxt* server, XP_U16 skip, const XP_UCHAR* msg,
XP_S8 from, XP_U32 timestamp )
{
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
for ( XP_U16 devIndex = 1; devIndex < server->nv.nDevices; ++devIndex ) {
if ( devIndex != skip ) {
sendChatTo( server, devIndex, msg, from, timestamp );
}
}
}
2010-11-01 14:57:54 +01:00
void
server_sendChat( ServerCtxt* server, const XP_UCHAR* msg, XP_S16 from )
{
XP_U32 timestamp = dutil_getCurSeconds( server->vol.dutil );
if ( server->vol.gi->serverRole == SERVER_ISCLIENT ) {
sendChatTo( server, SERVER_DEVICE, msg, from, timestamp );
} else {
sendChatToClientsExcept( server, SERVER_DEVICE, msg, from, timestamp );
}
}
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
static XP_Bool
receiveChat( ServerCtxt* server, XWStreamCtxt* incoming )
{
XP_UCHAR* msg = stringFromStream( server->mpool, incoming );
XP_S16 from = 1 <= stream_getSize( incoming )
? stream_getU8( incoming ) : -1;
XP_U32 timestamp = sizeof(timestamp) <= stream_getSize( incoming )
? stream_getU32( incoming ) : 0;
if ( amServer( server ) ) {
XP_U16 sourceClientIndex = getIndexForStream( server, incoming );
sendChatToClientsExcept( server, sourceClientIndex, msg, from,
timestamp );
}
util_showChat( server->vol.util, msg, from, timestamp );
XP_FREE( server->mpool, msg );
return XP_TRUE;
}
#endif
2003-11-01 06:35:29 +01:00
static void
callTurnChangeListener( const ServerCtxt* server )
2003-11-01 06:35:29 +01:00
{
if ( server->vol.turnChangeListener != NULL ) {
(*server->vol.turnChangeListener)( server->vol.turnChangeData );
}
} /* callTurnChangeListener */
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
static void
callDupTimerListener( const ServerCtxt* server, XP_S32 oldVal, XP_S32 newVal )
{
if ( server->vol.timerChangeListener != NULL ) {
(*server->vol.timerChangeListener)( server->vol.timerChangeData,
server->vol.gi->gameID, oldVal, newVal );
} else {
XP_LOGF( "%s(): no listener!!", __func__ );
}
}
2003-11-01 06:35:29 +01:00
#ifndef XWFEATURE_STANDALONE_ONLY
# ifdef STREAM_VERS_BIGBOARD
static void
setStreamVersion( ServerCtxt* server )
{
XP_U8 streamVersion = CUR_STREAM_VERS;
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
for ( XP_U16 devIndex = 1; devIndex < server->nv.nDevices; ++devIndex ) {
XP_U8 devVersion = server->nv.addresses[devIndex].streamVersion;
if ( devVersion < streamVersion ) {
streamVersion = devVersion;
}
}
XP_LOGF( "%s: setting streamVersion: 0x%x", __func__, streamVersion );
server->nv.streamVersion = streamVersion;
}
static void
checkResizeBoard( ServerCtxt* server )
{
CurGameInfo* gi = server->vol.gi;
if ( STREAM_VERS_BIGBOARD > server->nv.streamVersion && gi->boardSize > 15) {
XP_LOGF( "%s: dropping board size from %d to 15", __func__, gi->boardSize );
gi->boardSize = 15;
model_setSize( server->vol.model, 15 );
}
}
# else
# define setStreamVersion(s)
# define checkResizeBoard(s)
# endif
2003-11-01 06:35:29 +01:00
static XP_Bool
handleRegistrationMsg( ServerCtxt* server, XWStreamCtxt* stream )
{
XP_Bool success = XP_TRUE;
XP_U16 playersInMsg;
2012-12-08 15:40:21 +01:00
XP_S8 clientIndex = 0; /* quiet compiler */
XP_U16 ii = 0;
2009-09-26 16:33:52 +02:00
LOG_FUNC();
2003-11-01 06:35:29 +01:00
/* code will have already been consumed */
playersInMsg = (XP_U16)stream_getBits( stream, NPLAYERS_NBITS );
XP_ASSERT( playersInMsg > 0 );
if ( server->nv.pendingRegistrations < playersInMsg ) {
XP_LOGF( "%s: got %d players but missing only %d", __func__,
playersInMsg, server->nv.pendingRegistrations );
2003-11-01 06:35:29 +01:00
util_userError( server->vol.util, ERR_REG_UNEXPECTED_USER );
success = XP_FALSE;
} else {
#ifdef DEBUG
XP_S8 prevIndex = -1;
#endif
for ( ; ii < playersInMsg; ++ii ) {
clientIndex = registerRemotePlayer( server, stream );
if ( -1 == clientIndex ) {
success = XP_FALSE;
break;
}
/* This is abusing the semantics of turn change -- at least in the
case where there is another device yet to register -- but we
need to let the board know to redraw the scoreboard with more
players there. */
callTurnChangeListener( server );
#ifdef DEBUG
XP_ASSERT( ii == 0 || prevIndex == clientIndex );
prevIndex = clientIndex;
#endif
}
2003-11-01 06:35:29 +01:00
}
if ( success ) {
#ifdef STREAM_VERS_BIGBOARD
if ( 0 < stream_getSize(stream) ) {
XP_U8 streamVersion = stream_getU8( stream );
if ( streamVersion >= STREAM_VERS_BIGBOARD ) {
XP_LOGF( "%s: upping device %d streamVersion to %d",
__func__, clientIndex, streamVersion );
server->nv.addresses[clientIndex].streamVersion = streamVersion;
}
}
#endif
if ( server->nv.pendingRegistrations == 0 ) {
XP_ASSERT( ii == playersInMsg ); /* otherwise malformed */
setStreamVersion( server );
checkResizeBoard( server );
(void)assignTilesToAll( server );
SETSTATE( server, XWSTATE_RECEIVED_ALL_REG );
}
informMissing( server );
}
return success;
2003-11-01 06:35:29 +01:00
} /* handleRegistrationMsg */
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
static XP_U16
bitsPerTile( ServerCtxt* server )
{
if ( 0 == server->vol.bitsPerTile ) {
DictionaryCtxt* dict = model_getDictionary( server->vol.model );
XP_U16 nFaces = dict_numTileFaces( dict );
server->vol.bitsPerTile = nFaces <= 32? 5 : 6;
}
return server->vol.bitsPerTile;
}
static void
dupe_setupShowTrade( ServerCtxt* server, XP_U16 nTiles )
{
XP_ASSERT( inDuplicateMode(server) );
XP_ASSERT( !server->nv.prevMoveStream );
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
XP_UCHAR buf[128];
const XP_UCHAR* fmt = dutil_getUserString( server->vol.dutil, STRD_DUP_TRADED );
XP_SNPRINTF( buf, VSIZE(buf), fmt, nTiles );
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
XWStreamCtxt* stream = mkServerStream( server );
stream_catString( stream, buf );
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
server->nv.prevMoveStream = stream;
server->vol.showPrevMove = XP_TRUE;
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
}
static void
dupe_setupShowMove( ServerCtxt* server, XP_U16* scores )
{
XP_ASSERT( inDuplicateMode(server) );
XP_ASSERT( !server->nv.prevMoveStream ); /* firing */
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
const CurGameInfo* gi = server->vol.gi;
const XP_U16 nPlayers = gi->nPlayers;
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
XWStreamCtxt* stream = mkServerStream( server );
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
XP_U16 lastMax = 0x7FFF;
for ( XP_U16 nDone = 0; nDone < nPlayers; ) {
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
/* Find the largest score we haven't already done */
XP_U16 thisMax = 0;
for ( XP_U16 ii = 0; ii < nPlayers; ++ii ) {
XP_U16 score = scores[ii];
if ( score < lastMax && score > thisMax ) {
thisMax = score;
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
}
}
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
/* Process everybody with that score */
const XP_UCHAR* fmt = dutil_getUserString( server->vol.dutil, STRSD_DUP_ONESCORE );
for ( XP_U16 ii = 0; ii < nPlayers; ++ii ) {
if ( scores[ii] == thisMax ) {
++nDone;
XP_UCHAR buf[128];
XP_SNPRINTF( buf, VSIZE(buf), fmt, gi->players[ii].name, scores[ii] );
stream_catString( stream, buf );
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
}
}
lastMax = thisMax;
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
}
server->nv.prevMoveStream = stream;
server->vol.showPrevMove = XP_TRUE;
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
}
static void
addDupeStuffMark( XWStreamCtxt* stream, DUPE_STUFF typ )
{
stream_putBits( stream, 3, typ );
}
static DUPE_STUFF
getDupeStuffMark( XWStreamCtxt* stream )
{
return (DUPE_STUFF)stream_getBits( stream, 3 );
}
/* Called on server when client has sent a message giving its local players'
duplicate moves for a single turn. */
static XP_Bool
dupe_handleClientMoves( ServerCtxt* server, XWStreamCtxt* stream )
{
LOG_FUNC();
ModelCtxt* model = server->vol.model;
XP_Bool success = XP_TRUE;
XP_U16 movesInMsg = (XP_U16)stream_getBits( stream, NPLAYERS_NBITS );
XP_LOGF( "%s(): reading %d moves", __func__, movesInMsg );
for ( XP_U16 ii = 0; success && ii < movesInMsg; ++ii ) {
XP_U16 turn = (XP_U16)stream_getBits( stream, PLAYERNUM_NBITS );
XP_Bool forced = (XP_Bool)stream_getBits( stream, 1 );
model_resetCurrentTurn( model, turn );
success = model_makeTurnFromStream( model, turn, stream );
XP_ASSERT( success ); /* shouldn't fail in duplicate case */
if ( success ) {
XP_ASSERT( !server->nv.dupTurnsMade[turn] ); /* firing */
XP_ASSERT( !server->vol.gi->players[turn].isLocal );
server->nv.dupTurnsMade[turn] = XP_TRUE;
server->nv.dupTurnsForced[turn] = forced;
}
}
if ( success ) {
dupe_checkTurns( server );
nextTurn( server, PICK_NEXT );
}
LOG_RETURNF( "%d", success );
return success;
}
static void
updateOthersTiles( ServerCtxt* server )
{
sortTilesIf( server, DUP_PLAYER );
model_cloneDupeTrays( server->vol.model );
}
static XP_Bool
checkDupTimerProc( void* closure, XWTimerReason XP_UNUSED_DBG(XP_why) )
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
{
XP_ASSERT( XP_why == TIMER_DUP_TIMERCHECK );
ServerCtxt* server = (ServerCtxt*)closure;
XP_ASSERT( inDuplicateMode( server ) );
// Don't call server_do() if the timer hasn't fired yet
return setDupCheckTimer( server ) || server_do( server );
}
static XP_Bool
setDupCheckTimer( ServerCtxt* server )
{
XP_Bool set = XP_FALSE;
XP_U32 now = dutil_getCurSeconds( server->vol.dutil );
if ( server->nv.dupTimerExpires > 0 && server->nv.dupTimerExpires > now ) {
XP_U32 diff = server->nv.dupTimerExpires - now;
XP_ASSERT( diff <= 0x7FFF );
XP_U16 whenSeconds = (XP_U16) diff;
util_setTimer( server->vol.util, TIMER_DUP_TIMERCHECK, whenSeconds,
checkDupTimerProc, server );
set = XP_TRUE;
}
return set;
}
static void
setDupTimerExpires( ServerCtxt* server, XP_S32 newVal )
{
XP_LOGF( "%s(%d)", __func__, newVal );
if ( newVal != server->nv.dupTimerExpires ) {
XP_S32 oldVal = server->nv.dupTimerExpires;
server->nv.dupTimerExpires = newVal;
callDupTimerListener( server, oldVal, newVal );
}
}
static void
dupe_resetTimer( ServerCtxt* server )
{
XP_S32 newVal = 0;
if ( server->vol.gi->timerEnabled && 0 < server->vol.gi->gameSeconds ) {
XP_U32 now = dutil_getCurSeconds( server->vol.dutil );
newVal = now + server->vol.gi->gameSeconds;
} else {
XP_LOGF( "%s(): doing nothing because timers disabled", __func__ );
}
if ( server_canUnpause( server ) ) {
XP_U32 now = dutil_getCurSeconds( server->vol.dutil );
newVal = -(newVal - now);
}
setDupTimerExpires( server, newVal );
setDupCheckTimer( server );
}
XP_S32
server_getDupTimerExpires( const ServerCtxt* server )
{
return server->nv.dupTimerExpires;
}
/* If we're in dup mode, this is 0 if no timer otherwise the number of seconds
left. */
XP_S16
server_getTimerSeconds( const ServerCtxt* server, XP_U16 turn )
{
XP_S16 result;
if ( inDuplicateMode( server ) ) {
XP_S32 dupTimerExpires = server->nv.dupTimerExpires;
if ( dupTimerExpires <= 0 ) {
result = (XP_S16)-dupTimerExpires;
} else {
XP_U32 now = dutil_getCurSeconds( server->vol.dutil );
result = dupTimerExpires > now ? dupTimerExpires - now : 0;
}
XP_ASSERT( result >= 0 ); /* should never go negative */
} else {
CurGameInfo* gi = server->vol.gi;
XP_U16 secondsUsed = gi->players[turn].secondsUsed;
XP_U16 secondsAvailable = gi->gameSeconds / gi->nPlayers;
XP_ASSERT( gi->timerEnabled );
result = secondsAvailable - secondsUsed;
}
return result;
}
XP_Bool
server_canPause( const ServerCtxt* server )
{
XP_Bool result = inDuplicateMode( server )
&& 0 < server_getDupTimerExpires( server );
/* LOG_RETURNF( "%d", result ); */
return result;
}
XP_Bool
server_canUnpause( const ServerCtxt* server )
{
XP_Bool result = inDuplicateMode( server )
&& 0 > server_getDupTimerExpires( server );
/* LOG_RETURNF( "%d", result ); */
return result;
}
static void
pauseImpl( ServerCtxt* server )
{
XP_ASSERT( server_canPause( server ) );
/* Figure out how many seconds are left on the timer, and set timer to the
negative of that (since negative is the flag) */
XP_U32 now = dutil_getCurSeconds( server->vol.dutil );
setDupTimerExpires( server, -(server->nv.dupTimerExpires - now) );
XP_ASSERT( 0 > server->nv.dupTimerExpires );
XP_ASSERT( server_canUnpause( server ) );
}
void
server_pause( ServerCtxt* server, XP_S16 turn, const XP_UCHAR* msg )
{
XP_LOGF( "%s(turn=%d)", __func__, turn );
pauseImpl( server );
/* Figure out how many seconds are left on the timer, and set timer to the
negative of that (since negative is the flag) */
dupe_transmitPause( server, PAUSED, turn, msg, -1 );
model_noteDupePause( server->vol.model, PAUSED, turn, msg );
LOG_RETURN_VOID();
}
static void
2020-03-29 00:25:30 +01:00
dupe_autoPause( ServerCtxt* server )
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
{
XP_LOGF( "%s()", __func__ );
/* Reset timer: we're starting turn over */
dupe_resetTimer( server );
dupe_clearState( server );
/* Then pause us */
pauseImpl( server );
dupe_transmitPause( server, AUTOPAUSED, 0, NULL, -1 );
model_noteDupePause( server->vol.model, AUTOPAUSED, -1, NULL );
LOG_RETURN_VOID();
}
void
server_unpause( ServerCtxt* server, XP_S16 turn, const XP_UCHAR* msg )
{
XP_LOGF( "%s(turn=%d)", __func__, turn );
XP_ASSERT( server_canUnpause( server ) );
XP_U32 now = dutil_getCurSeconds( server->vol.dutil );
/* subtract because it's negative */
setDupTimerExpires( server, now - server->nv.dupTimerExpires );
XP_ASSERT( server_canPause( server ) );
dupe_transmitPause( server, UNPAUSED, turn, msg, -1 );
model_noteDupePause( server->vol.model, UNPAUSED, turn, msg );
LOG_RETURN_VOID();
}
/* Called on client. Unpacks DUP move data and applies it. */
static XP_Bool
dupe_handleServerMoves( ServerCtxt* server, XWStreamCtxt* stream )
{
LOG_FUNC();
MoveInfo moveInfo;
moveInfoFromStream( stream, &moveInfo, bitsPerTile(server) );
TrayTileSet newTiles;
traySetFromStream( stream, &newTiles );
XP_ASSERT( newTiles.nTiles <= moveInfo.nTiles );
XP_ASSERT( pool_containsTiles( server->pool, &newTiles ) );
XP_U16 nScores = stream_getBits( stream, NPLAYERS_NBITS );
XP_U16 scores[MAX_NUM_PLAYERS];
XP_ASSERT( nScores <= MAX_NUM_PLAYERS );
scoresFromStream( stream, nScores, scores );
dupe_resetTimer( server );
pool_removeTiles( server->pool, &newTiles );
model_commitDupeTurn( server->vol.model, &moveInfo, nScores, scores,
&newTiles );
/* Need to remove the played tiles from all local trays */
updateOthersTiles( server );
dupe_setupShowMove( server, scores );
dupe_clearState( server );
nextTurn( server, PICK_NEXT );
LOG_RETURN_VOID();
return XP_TRUE;
} /* dupe_handleServerMoves */
static XP_Bool
dupe_handleServerTrade( ServerCtxt* server, XWStreamCtxt* stream )
{
TrayTileSet oldTiles, newTiles;
traySetFromStream( stream, &oldTiles );
traySetFromStream( stream, &newTiles );
ModelCtxt* model = server->vol.model;
model_resetCurrentTurn( model, DUP_PLAYER );
2020-03-29 00:25:30 +01:00
model_removePlayerTiles( model, DUP_PLAYER, &oldTiles );
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
pool_replaceTiles( server->pool, &oldTiles );
pool_removeTiles( server->pool, &newTiles );
model_commitDupeTrade( model, &oldTiles, &newTiles );
model_addNewTiles( model, DUP_PLAYER, &newTiles );
updateOthersTiles( server );
dupe_resetTimer( server );
dupe_setupShowTrade( server, newTiles.nTiles );
dupe_clearState( server );
nextTurn( server, PICK_NEXT );
return XP_TRUE;
}
2003-11-01 06:35:29 +01:00
#endif
/* Just for grins....trade in all the tiles that weren't used in the
* move the robot manage to make. This is not meant to be strategy, but
* rather to force me to make the trade-communication stuff work well.
*/
#if 0
static void
robotTradeTiles( ServerCtxt* server, MoveInfo* newMove )
{
Tile tradeTiles[MAX_TRAY_TILES];
XP_S16 turn = server->nv.currentTurn;
Tile* curTiles = model_getPlayerTiles( server->model, turn );
XP_U16 numInTray = model_getNumPlayerTiles( server->model, turn );
XP_MEMCPY( tradeTiles, curTiles, numInTray );
for ( ii = 0; ii < numInTray; ++ii ) { /* for each tile in tray */
2003-11-01 06:35:29 +01:00
XP_Bool keep = XP_FALSE;
for ( jj = 0; jj < newMove->numTiles; ++jj ) { /* for each in move */
Tile movedTile = newMove->tiles[jj].tile;
if ( newMove->tiles[jj].isBlank ) {
2003-11-01 06:35:29 +01:00
movedTile |= TILE_BLANK_BIT;
}
if ( movedTile == curTiles[ii] ) { /* it's in the move */
2003-11-01 06:35:29 +01:00
keep = XP_TRUE;
break;
}
}
if ( !keep ) {
tradeTiles[numToTrade++] = curTiles[ii];
2003-11-01 06:35:29 +01:00
}
}
} /* robotTradeTiles */
#endif
static XWStreamCtxt*
mkServerStream( ServerCtxt* server )
{
XWStreamCtxt* stream;
stream = mem_stream_make_raw( MPPARM(server->mpool)
dutil_getVTManager(server->vol.dutil) );
2003-11-01 06:35:29 +01:00
XP_ASSERT( !!stream );
return stream;
} /* mkServerStream */
static XP_Bool
makeRobotMove( ServerCtxt* server )
{
LOG_FUNC();
2003-11-01 06:35:29 +01:00
XP_Bool result = XP_FALSE;
XP_Bool searchComplete = XP_FALSE;
2003-11-01 06:35:29 +01:00
XP_S16 turn;
2018-04-18 06:13:53 +02:00
MoveInfo newMove = {0};
2003-11-01 06:35:29 +01:00
ModelCtxt* model = server->vol.model;
CurGameInfo* gi = server->vol.gi;
XP_Bool timerEnabled = gi->timerEnabled;
XP_Bool canMove;
2008-05-31 05:26:16 +02:00
XP_U32 time = 0L; /* stupid compiler.... */
XW_DUtilCtxt* dutil = server->vol.dutil;
XP_Bool forceTrade = XP_FALSE;
2003-11-01 06:35:29 +01:00
if ( timerEnabled ) {
time = dutil_getCurSeconds( dutil );
2003-11-01 06:35:29 +01:00
}
#ifdef XWFEATURE_SLOW_ROBOT
if ( 0 != server->nv.robotTradePct ) {
XP_ASSERT( ! inDuplicateMode( server ) );
if ( server_countTilesInPool( server ) >= MAX_TRAY_TILES ) {
XP_U16 pct = XP_RANDOM() % 100;
forceTrade = pct < server->nv.robotTradePct ;
}
}
#endif
2003-11-01 06:35:29 +01:00
turn = server->nv.currentTurn;
XP_ASSERT( turn >= 0 );
/* If the player's been recently turned into a robot while he had some
pending tiles on the board we'll have problems. It'd be best to detect
this and put 'em back when that happens. But for now we'll just be
paranoid. PENDING(ehouse) */
model_resetCurrentTurn( model, turn );
if ( !forceTrade ) {
const TrayTileSet* tileSet = model_getPlayerTiles( model, turn );
#ifdef XWFEATURE_BONUSALL
XP_U16 allTilesBonus = server_figureFinishBonus( server, turn );
#endif
XP_ASSERT( !!server_getEngineFor( server, turn ) );
searchComplete = engine_findMove( server_getEngineFor( server, turn ),
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
model, turn, XP_FALSE, XP_FALSE,
tileSet->tiles, tileSet->nTiles, XP_FALSE,
#ifdef XWFEATURE_BONUSALL
allTilesBonus,
#endif
#ifdef XWFEATURE_SEARCHLIMIT
NULL, XP_FALSE,
#endif
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
gi->players[turn].robotIQ,
&canMove, &newMove, NULL );
}
if ( forceTrade || searchComplete ) {
const XP_UCHAR* str;
2003-11-01 06:35:29 +01:00
XWStreamCtxt* stream = NULL;
XP_Bool trade = forceTrade ||
((newMove.nTiles == 0) && !canMove &&
(server_countTilesInPool( server ) >= MAX_TRAY_TILES));
2003-11-01 06:35:29 +01:00
server->vol.showPrevMove = XP_TRUE;
if ( inDuplicateMode(server) || server->nv.showRobotScores ) {
2003-11-01 06:35:29 +01:00
stream = mkServerStream( server );
}
/* trade if unable to find a move */
if ( trade ) {
TrayTileSet oldTiles = *model_getPlayerTiles( model, turn );
XP_LOGFF( "robot trading %d tiles", oldTiles.nTiles );
result = server_commitTrade( server, &oldTiles, NULL );
2003-11-01 06:35:29 +01:00
/* Quick hack to fix gremlin bug where all-robot game seen none
able to trade for tiles to move and blowing the undo stack.
This will stop them, and should have no effect if there are any
human players making real moves. */
if ( !!stream ) {
2004-07-10 16:17:07 +02:00
XP_UCHAR buf[64];
str = dutil_getUserQuantityString( dutil, STRD_ROBOT_TRADED,
MAX_TRAY_TILES );
2004-07-10 16:17:07 +02:00
XP_SNPRINTF( buf, sizeof(buf), str, MAX_TRAY_TILES );
2003-11-01 06:35:29 +01:00
stream_catString( stream, buf );
XP_ASSERT( !server->nv.prevMoveStream );
server->nv.prevMoveStream = stream;
2003-11-01 06:35:29 +01:00
}
} else {
/* if canMove is false, this is a fake move, a pass */
if ( canMove || NPASSES_OK(server) ) {
#ifdef XWFEATURE_ROBOTPHONIES
if ( server->nv.makePhonyPct > XP_RANDOM() % 100 ) {
reverseTiles( &newMove );
}
#endif
juggleMoveIfDebug( &newMove );
model_makeTurnFromMoveInfo( model, turn, &newMove );
XP_LOGFF( "robot making %d tile move for player %d", newMove.nTiles, turn );
if ( !!stream ) {
XWStreamCtxt* wordsStream = mkServerStream( server );
WordNotifierInfo* ni =
model_initWordCounter( model, wordsStream );
(void)model_checkMoveLegal( model, turn, stream, ni );
XP_ASSERT( !server->nv.prevMoveStream );
server->nv.prevMoveStream = stream;
server->nv.prevWordsStream = wordsStream;
}
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
result = server_commitMove( server, turn, NULL );
} else {
result = XP_FALSE;
2003-11-01 06:35:29 +01:00
}
}
}
if ( timerEnabled ) {
gi->players[turn].secondsUsed +=
(XP_U16)(dutil_getCurSeconds( dutil ) - time);
2003-11-01 06:35:29 +01:00
} else {
XP_ASSERT( gi->players[turn].secondsUsed == 0 );
}
LOG_RETURNF( "%s", boolToStr(result) );
2008-05-31 05:26:16 +02:00
return result; /* always return TRUE after robot move? */
2003-11-01 06:35:29 +01:00
} /* makeRobotMove */
#ifdef XWFEATURE_SLOW_ROBOT
static XP_Bool
wakeRobotProc( void* closure, XWTimerReason XP_UNUSED_DBG(why) )
{
XP_ASSERT( TIMER_SLOWROBOT == why );
ServerCtxt* server = (ServerCtxt*)closure;
XP_ASSERT( ROBOTWAITING(server) );
server->robotWaiting = XP_FALSE;
util_requestTime( server->vol.util );
return XP_FALSE;
}
#endif
2003-11-01 06:35:29 +01:00
static XP_Bool
robotMovePending( const ServerCtxt* server )
2003-11-01 06:35:29 +01:00
{
XP_Bool result = XP_FALSE;
2003-11-01 06:35:29 +01:00
XP_S16 turn = server->nv.currentTurn;
if ( turn >= 0 && tileCountsOk(server) && NPASSES_OK(server) ) {
2003-11-01 06:35:29 +01:00
CurGameInfo* gi = server->vol.gi;
LocalPlayer* player = &gi->players[turn];
result = LP_IS_ROBOT(player) && LP_IS_LOCAL(player);
2003-11-01 06:35:29 +01:00
}
return result;
2003-11-01 06:35:29 +01:00
} /* robotMovePending */
#ifdef XWFEATURE_SLOW_ROBOT
static XP_Bool
postponeRobotMove( ServerCtxt* server )
{
XP_Bool result = XP_FALSE;
XP_ASSERT( robotMovePending(server) );
if ( !ROBOTWAITING(server) ) {
XP_U16 sleepTime = figureSleepTime(server);
if ( 0 != sleepTime ) {
server->robotWaiting = XP_TRUE;
util_setTimer( server->vol.util, TIMER_SLOWROBOT, sleepTime,
wakeRobotProc, server );
result = XP_TRUE;
}
}
return result;
}
# define POSTPONEROBOTMOVE(s) postponeRobotMove(s)
#else
# define POSTPONEROBOTMOVE(s) XP_FALSE
#endif
2003-11-01 06:35:29 +01:00
static void
showPrevScore( ServerCtxt* server )
{
/* showRobotScores can be changed between turns */
if ( inDuplicateMode( server ) || server->nv.showRobotScores ) {
XW_UtilCtxt* util = server->vol.util;
XW_DUtilCtxt* dutil = server->vol.dutil;
XWStreamCtxt* stream;
XP_UCHAR buf[128];
CurGameInfo* gi = server->vol.gi;
XP_U16 nPlayers = gi->nPlayers;
XP_U16 prevTurn;
LocalPlayer* lp;
prevTurn = (server->nv.currentTurn + nPlayers - 1) % nPlayers;
lp = &gi->players[prevTurn];
XP_U16 stringCode;
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
if ( inDuplicateMode( server ) ) {
stringCode = STR_DUP_MOVED;
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
} else if ( LP_IS_LOCAL(lp) ) {
stringCode = STR_ROBOT_MOVED;
} else {
stringCode = STRS_REMOTE_MOVED;
}
const XP_UCHAR* str = dutil_getUserString( dutil, stringCode );
XP_SNPRINTF( buf, sizeof(buf), str, lp->name );
str = buf;
2003-11-01 06:35:29 +01:00
stream = mkServerStream( server );
stream_catString( stream, str );
2003-11-01 06:35:29 +01:00
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
XWStreamCtxt* prevStream = server->nv.prevMoveStream;
if ( !!prevStream ) {
server->nv.prevMoveStream = NULL;
2003-11-01 06:35:29 +01:00
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
XP_U16 len = stream_getSize( prevStream );
stream_putBytes( stream, stream_getPtr( prevStream ), len );
stream_destroy( prevStream );
}
2003-11-01 06:35:29 +01:00
util_informMove( util, prevTurn, stream, server->nv.prevWordsStream );
stream_destroy( stream );
if ( !!server->nv.prevWordsStream ) {
stream_destroy( server->nv.prevWordsStream );
server->nv.prevWordsStream = NULL;
}
2003-11-01 06:35:29 +01:00
}
SETSTATE( server, server->nv.stateAfterShow );
2003-11-01 06:35:29 +01:00
} /* showPrevScore */
void
server_tilesPicked( ServerCtxt* server, XP_U16 player,
const TrayTileSet* newTilesP )
{
XP_ASSERT( 0 == model_getNumTilesInTray( server->vol.model, player ) );
XP_ASSERT( server->vol.pickTilesCalled[player] );
server->vol.pickTilesCalled[player] = XP_FALSE;
TrayTileSet newTiles = *newTilesP;
pool_removeTiles( server->pool, &newTiles );
fetchTiles( server, player, MAX_TRAY_TILES, NULL, &newTiles );
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
XP_ASSERT( !inDuplicateMode(server) );
model_assignPlayerTiles( server->vol.model, player, &newTiles );
util_requestTime( server->vol.util );
}
static XP_Bool
informNeedPickTiles( ServerCtxt* server, XP_Bool initial, XP_U16 turn,
XP_U16 nToPick )
{
ModelCtxt* model = server->vol.model;
DictionaryCtxt* dict = model_getDictionary(model);
XP_U16 nFaces = dict_numTileFaces( dict );
XP_U16 counts[MAX_UNIQUE_TILES];
const XP_UCHAR* faces[MAX_UNIQUE_TILES];
XP_U16 nLeft = pool_getNTilesLeft( server->pool );
if ( nLeft < nToPick ) {
nToPick = nLeft;
}
XP_Bool asking = nToPick > 0;
if ( asking ) {
/* We need to make sure we only call util_informNeedPickTiles once
without it returning. Even if server_do() is called a lot. */
if ( server->vol.pickTilesCalled[turn] ) {
XP_LOGF( "%s(): already asking for %d", __func__, turn );
} else {
server->vol.pickTilesCalled[turn] = XP_TRUE;
for ( Tile tile = 0; tile < nFaces; ++tile ) {
faces[tile] = dict_getTileString( dict, tile );
counts[tile] = pool_getNTilesLeftFor( server->pool, tile );
}
util_informNeedPickTiles( server->vol.util, initial, turn,
nToPick, nFaces, faces, counts );
}
}
return asking;
}
2003-11-01 06:35:29 +01:00
XP_Bool
server_do( ServerCtxt* server )
2003-11-01 06:35:29 +01:00
{
XP_Bool result = XP_TRUE;
2004-02-18 05:28:32 +01:00
if ( server->serverDoing ) {
result = XP_FALSE;
} else {
XP_Bool moreToDo = XP_FALSE;
server->serverDoing = XP_TRUE;
XP_LOGFF( "gameState: %s", getStateStr(server->nv.gameState) );
switch( server->nv.gameState ) {
case XWSTATE_BEGIN:
if ( server->nv.pendingRegistrations == 0 ) { /* all players on
device */
if ( assignTilesToAll( server ) ) {
SETSTATE( server, XWSTATE_INTURN );
setTurn( server, 0 );
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
if ( inDuplicateMode( server ) ) {
dupe_resetTimer( server );
}
moreToDo = XP_TRUE;
}
}
break;
2003-11-01 06:35:29 +01:00
case XWSTATE_NEEDSEND_BADWORD_INFO:
XP_ASSERT( server->vol.gi->serverRole == SERVER_ISSERVER );
badWordMoveUndoAndTellUser( server, &server->illegalWordInfo );
2003-11-01 06:35:29 +01:00
#ifndef XWFEATURE_STANDALONE_ONLY
sendBadWordMsgs( server );
2003-11-01 06:35:29 +01:00
#endif
nextTurn( server, PICK_NEXT );
//moreToDo = XP_TRUE; /* why? */
break;
2003-11-01 06:35:29 +01:00
#ifndef XWFEATURE_STANDALONE_ONLY
case XWSTATE_RECEIVED_ALL_REG:
server_sendInitialMessage( server );
/* PENDING isn't INTURN_OFFDEVICE possible too? Or just
INTURN? */
SETSTATE( server, XWSTATE_INTURN );
setTurn( server, 0 );
moreToDo = XP_TRUE;
break;
case XWSTATE_MOVE_CONFIRM_MUSTSEND:
XP_ASSERT( server->vol.gi->serverRole == SERVER_ISSERVER );
tellMoveWasLegal( server ); /* sets state */
nextTurn( server, PICK_NEXT );
break;
2003-11-01 06:35:29 +01:00
#endif /* XWFEATURE_STANDALONE_ONLY */
case XWSTATE_NEEDSEND_ENDGAME:
endGameInternal( server, END_REASON_OUT_OF_TILES, -1 );
break;
case XWSTATE_NEED_SHOWSCORE:
showPrevScore( server );
/* state better have changed or we'll infinite loop... */
XP_ASSERT( XWSTATE_NEED_SHOWSCORE != server->nv.gameState );
/* either process turn or end game should come next... */
moreToDo = XWSTATE_NEED_SHOWSCORE != server->nv.gameState;
break;
case XWSTATE_INTURN:
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
if ( inDuplicateMode( server ) ) {
/* For now, anyway; makes dev easier */
dupe_forceCommits( server );
dupe_checkTurns( server );
}
if ( robotMovePending( server ) && !ROBOTWAITING(server) ) {
result = makeRobotMove( server );
/* if robot was interrupted, we need to schedule again */
moreToDo = !result ||
(robotMovePending( server ) && !POSTPONEROBOTMOVE(server));
}
break;
2003-11-01 06:35:29 +01:00
default:
result = XP_FALSE;
break;
} /* switch */
if ( moreToDo ) {
util_requestTime( server->vol.util );
2003-11-01 06:35:29 +01:00
}
2004-02-18 05:28:32 +01:00
server->serverDoing = XP_FALSE;
2003-11-01 06:35:29 +01:00
}
return result;
} /* server_do */
#ifndef XWFEATURE_STANDALONE_ONLY
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
static XP_S8
getIndexForStream( const ServerCtxt* server, const XWStreamCtxt* stream )
{
XP_PlayerAddr channelNo = stream_getAddress( stream );
return getIndexForDevice( server, channelNo );
}
2003-11-01 06:35:29 +01:00
static XP_S8
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
getIndexForDevice( const ServerCtxt* server, XP_PlayerAddr channelNo )
2003-11-01 06:35:29 +01:00
{
2012-08-22 16:44:21 +02:00
short ii;
2003-11-01 06:35:29 +01:00
XP_S8 result = -1;
2012-08-22 16:44:21 +02:00
for ( ii = 0; ii < server->nv.nDevices; ++ii ) {
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
const RemoteAddress* addr = &server->nv.addresses[ii];
2003-11-01 06:35:29 +01:00
if ( addr->channelNo == channelNo ) {
2012-08-22 16:44:21 +02:00
result = ii;
2003-11-01 06:35:29 +01:00
break;
}
}
XP_LOGF( "%s(%x)=>%d", __func__, channelNo, result );
2003-11-01 06:35:29 +01:00
return result;
} /* getIndexForDevice */
static LocalPlayer*
findFirstPending( ServerCtxt* server, ServerPlayer** playerP )
{
LocalPlayer* lp;
CurGameInfo* gi = server->vol.gi;
XP_U16 nPlayers = gi->nPlayers;
XP_U16 nPending = server->nv.pendingRegistrations;
2003-11-01 06:35:29 +01:00
XP_ASSERT( nPlayers > 0 );
lp = gi->players + nPlayers;
while ( --lp >= gi->players ) {
--nPlayers;
if ( !lp->isLocal ) {
if ( --nPending == 0 ) {
break;
}
}
}
if ( lp < gi->players ) { /* did we find a slot? */
XP_LOGF( "%s: no slot found for player; duplicate packet?", __func__ );
lp = NULL;
} else {
*playerP = server->players + nPlayers;
}
2003-11-01 06:35:29 +01:00
return lp;
} /* findFirstPending */
static XP_S8
2003-11-01 06:35:29 +01:00
registerRemotePlayer( ServerCtxt* server, XWStreamCtxt* stream )
{
XP_S8 deviceIndex = -1;
2003-11-01 06:35:29 +01:00
XP_PlayerAddr channelNo;
XP_U16 nameLen;
LocalPlayer* lp;
ServerPlayer* player = (ServerPlayer*)NULL;
/* The player must already be there with a null name, or it's an error.
Take the first empty slot. */
XP_ASSERT( server->nv.pendingRegistrations > 0 );
2003-11-01 06:35:29 +01:00
/* find the slot to use */
lp = findFirstPending( server, &player );
if ( NULL != lp ) {
2003-11-01 06:35:29 +01:00
/* get data from stream */
lp->robotIQ = 1 == stream_getBits( stream, 1 )? 1 : 0;
nameLen = stream_getBits( stream, NAME_LEN_NBITS );
2019-03-09 21:12:47 +01:00
XP_UCHAR name[nameLen + 1];
stream_getBytes( stream, name, nameLen );
name[nameLen] = '\0';
2019-03-09 21:12:47 +01:00
XP_LOGF( "%s(): read remote name: %s", __func__, name );
2003-11-01 06:35:29 +01:00
replaceStringIfDifferent( server->mpool, &lp->name, name );
2003-11-01 06:35:29 +01:00
channelNo = stream_getAddress( stream );
deviceIndex = getIndexForDevice( server, channelNo );
2003-11-01 06:35:29 +01:00
--server->nv.pendingRegistrations;
2003-11-01 06:35:29 +01:00
if ( deviceIndex == -1 ) {
RemoteAddress* addr;
addr = &server->nv.addresses[server->nv.nDevices];
2003-11-01 06:35:29 +01:00
XP_ASSERT( channelNo != 0 );
addr->channelNo = channelNo;
XP_LOGF( "%s: set channelNo to %x for device %d", __func__,
channelNo, server->nv.nDevices );
deviceIndex = server->nv.nDevices++;
#ifdef STREAM_VERS_BIGBOARD
addr->streamVersion = STREAM_SAVE_PREVWORDS;
#endif
} else {
XP_LOGF( "%s: deviceIndex already set", __func__ );
}
2003-11-01 06:35:29 +01:00
player->deviceIndex = deviceIndex;
}
return deviceIndex;
2003-11-01 06:35:29 +01:00
} /* registerRemotePlayer */
static void
clearLocalRobots( ServerCtxt* server )
{
2012-08-22 16:44:21 +02:00
XP_U16 ii;
2003-11-01 06:35:29 +01:00
CurGameInfo* gi = server->vol.gi;
XP_U16 nPlayers = gi->nPlayers;
2012-08-22 16:44:21 +02:00
for ( ii = 0; ii < nPlayers; ++ii ) {
LocalPlayer* player = &gi->players[ii];
if ( LP_IS_LOCAL( player ) ) {
player->robotIQ = 0;
2003-11-01 06:35:29 +01:00
}
}
} /* clearLocalRobots */
#endif
static void
sortTilesIf( ServerCtxt* server, XP_S16 turn )
{
if ( server->nv.sortNewTiles ) {
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
model_sortTiles( server->vol.model, turn );
}
}
#ifndef XWFEATURE_STANDALONE_ONLY
2003-11-01 06:35:29 +01:00
/* Called in response to message from server listing all the names of
* players in the game (in server-assigned order) and their initial
* tray contents.
*/
static XP_Bool
client_readInitialMessage( ServerCtxt* server, XWStreamCtxt* stream )
{
LOG_FUNC();
XP_Bool accepted = 0 == server->nv.addresses[0].channelNo;
/* We should never get this message a second time, but very rarely we do.
Drop it in that case. */
if ( accepted ) {
ModelCtxt* model = server->vol.model;
CurGameInfo* gi = server->vol.gi;
CurGameInfo localGI;
XP_U32 gameID;
PoolContext* pool;
#ifdef STREAM_VERS_BIGBOARD
XP_UCHAR rmtDictName[128];
XP_UCHAR rmtDictSum[64];
#endif
/* version; any dependencies here? */
XP_U8 streamVersion = stream_getU8( stream );
XP_LOGF( "%s: set streamVersion to %d", __func__, streamVersion );
stream_setVersion( stream, streamVersion );
// XP_ASSERT( streamVersion <= CUR_STREAM_VERS ); /* else do what? */
2003-11-01 06:35:29 +01:00
gameID = stream_getU32( stream );
XP_LOGF( "read gameID of %x; calling comms_setConnID", gameID );
server->vol.gi->gameID = gameID;
comms_setConnID( server->vol.comms, gameID );
2003-11-01 06:35:29 +01:00
XP_MEMSET( &localGI, 0, sizeof(localGI) );
gi_readFromStream( MPPARM(server->mpool) stream, &localGI );
localGI.serverRole = SERVER_ISCLIENT;
2003-11-01 06:35:29 +01:00
localGI.dictName = copyString( server->mpool, gi->dictName );
gi_copy( MPPARM(server->mpool) gi, &localGI );
2003-11-01 06:35:29 +01:00
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
XP_U16 nCols = localGI.boardSize;
2003-11-01 06:35:29 +01:00
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
DictionaryCtxt* newDict = util_makeEmptyDict( server->vol.util );
dict_loadFromStream( newDict, stream );
2003-11-01 06:35:29 +01:00
#ifdef STREAM_VERS_BIGBOARD
if ( STREAM_VERS_DICTNAME <= streamVersion ) {
stringFromStreamHere( stream, rmtDictName, VSIZE(rmtDictName) );
stringFromStreamHere( stream, rmtDictSum, VSIZE(rmtDictSum) );
} else {
rmtDictName[0] = '\0';
}
#endif
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
XP_PlayerAddr channelNo = stream_getAddress( stream );
XP_ASSERT( channelNo != 0 );
server->nv.addresses[0].channelNo = channelNo;
XP_LOGF( "%s: assigning channelNo %x for 0", __func__, channelNo );
2003-11-01 06:35:29 +01:00
model_setSize( model, nCols );
2003-11-01 06:35:29 +01:00
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
XP_U16 nPlayers = localGI.nPlayers;
XP_LOGF( "%s: reading in %d players", __func__, localGI.nPlayers );
2003-11-01 06:35:29 +01:00
gi_disposePlayerInfo( MPPARM(server->mpool) &localGI );
2003-11-01 06:35:29 +01:00
gi->nPlayers = nPlayers;
model_setNPlayers( model, nPlayers );
2003-11-01 06:35:29 +01:00
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
DictionaryCtxt* curDict = model_getDictionary( model );
2003-11-01 06:35:29 +01:00
XP_ASSERT( !!newDict );
2003-11-01 06:35:29 +01:00
if ( curDict == NULL ) {
model_setDictionary( model, newDict );
} else if ( dict_tilesAreSame( newDict, curDict ) ) {
/* keep the dict the local user installed */
#ifdef STREAM_VERS_BIGBOARD
if ( '\0' != rmtDictName[0] ) {
const XP_UCHAR* ourName = dict_getShortName( curDict );
util_informNetDict( server->vol.util,
dict_getLangCode( curDict ),
ourName, rmtDictName,
rmtDictSum, localGI.phoniesAction );
}
#endif
} else {
2008-05-31 05:26:16 +02:00
model_setDictionary( model, newDict );
util_userError( server->vol.util, ERR_SERVER_DICT_WINS );
clearLocalRobots( server );
}
dict_unref( newDict ); /* new owner will have ref'd */
2003-11-01 06:35:29 +01:00
XP_ASSERT( !server->pool );
makePoolOnce( server );
pool = server->pool;
2003-11-01 06:35:29 +01:00
2009-07-31 15:03:38 +02:00
/* now read the assigned tiles for each player from the stream, and
remove them from the newly-created local pool. */
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
TrayTileSet tiles;
for ( XP_U16 ii = 0; ii < nPlayers; ++ii ) {
/* Pull/remove only once if duplicate-mode game */
if ( ii == 0 || !inDuplicateMode(server) ) {
traySetFromStream( stream, &tiles );
XP_ASSERT( tiles.nTiles <= MAX_TRAY_TILES );
/* remove what the server's assigned so we won't conflict
later. */
pool_removeTiles( pool, &tiles );
}
XP_LOGF( "%s: got %d tiles for player %d", __func__, tiles.nTiles, ii );
2003-11-01 06:35:29 +01:00
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
if ( inDuplicateMode(server ) ) {
model_assignDupeTiles( model, &tiles );
break;
} else {
model_assignPlayerTiles( model, ii, &tiles );
}
sortTilesIf( server, ii );
}
2003-11-01 06:35:29 +01:00
syncPlayers( server );
SETSTATE( server, XWSTATE_INTURN );
2003-11-01 06:35:29 +01:00
/* Give board a chance to redraw self with the full compliment of known
players */
setTurn( server, 0 );
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
dupe_resetTimer( server );
2008-01-07 02:19:47 +01:00
} else {
2009-07-31 15:03:38 +02:00
XP_LOGF( "%s: wanted 0; got %d", __func__,
server->nv.addresses[0].channelNo );
}
return accepted;
2003-11-01 06:35:29 +01:00
} /* client_readInitialMessage */
#endif
/* For each remote device, send a message containing the dictionary and the
* names of all the players in the game (including those on the device itself,
* since they might have been changed in the case of conflicts), in the order
* that all must use for the game. Then for each player on the device give
* the starting tray.
*/
#ifndef XWFEATURE_STANDALONE_ONLY
static void
makeSendableGICopy( ServerCtxt* server, CurGameInfo* giCopy,
XP_U16 deviceIndex )
{
XP_U16 nPlayers;
LocalPlayer* clientPl;
XP_U16 ii;
2003-11-01 06:35:29 +01:00
XP_MEMCPY( giCopy, server->vol.gi, sizeof(*giCopy) );
nPlayers = giCopy->nPlayers;
for ( clientPl = giCopy->players, ii = 0;
ii < nPlayers; ++clientPl, ++ii ) {
2003-11-01 06:35:29 +01:00
/* adjust isLocal to client's perspective */
clientPl->isLocal = server->players[ii].deviceIndex == deviceIndex;
2003-11-01 06:35:29 +01:00
}
giCopy->forceChannel = deviceIndex;
XP_LOGF( "%s: assigning forceChannel from deviceIndex: %d", __func__,
giCopy->forceChannel );
giCopy->dictName = (XP_UCHAR*)NULL; /* so we don't sent the bytes */
2003-11-01 06:35:29 +01:00
} /* makeSendableGICopy */
static void
server_sendInitialMessage( ServerCtxt* server )
{
ModelCtxt* model = server->vol.model;
XP_U16 nPlayers = server->vol.gi->nPlayers;
XP_U32 gameID = server->vol.gi->gameID;
#ifdef STREAM_VERS_BIGBOARD
XP_U8 streamVersion = server->nv.streamVersion;
#endif
2003-11-01 06:35:29 +01:00
2010-01-31 22:13:31 +01:00
XP_ASSERT( server->nv.nDevices > 1 );
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
for ( XP_U16 deviceIndex = 1; deviceIndex < server->nv.nDevices;
2003-11-01 06:35:29 +01:00
++deviceIndex ) {
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
XWStreamCtxt* stream = messageStreamWithHeader( server, deviceIndex,
XWPROTO_CLIENT_SETUP );
2003-11-01 06:35:29 +01:00
XP_ASSERT( !!stream );
#ifdef STREAM_VERS_BIGBOARD
XP_ASSERT( 0 < streamVersion );
stream_putU8( stream, streamVersion );
#else
stream_putU8( stream, CUR_STREAM_VERS );
#endif
XP_LOGF( "putting gameID %x into msg", gameID );
stream_putU32( stream, gameID );
2003-11-01 06:35:29 +01:00
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
CurGameInfo localGI;
2003-11-01 06:35:29 +01:00
makeSendableGICopy( server, &localGI, deviceIndex );
gi_writeToStream( stream, &localGI );
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
DictionaryCtxt* dict = model_getDictionary( model );
dict_writeToStream( dict, stream );
#ifdef STREAM_VERS_BIGBOARD
if ( STREAM_VERS_DICTNAME <= streamVersion ) {
stringToStream( stream, dict_getShortName(dict) );
stringToStream( stream, dict_getMd5Sum(dict) );
}
#endif
2003-11-01 06:35:29 +01:00
/* send tiles currently in tray */
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
for ( XP_U16 ii = 0; ii < nPlayers; ++ii ) {
model_trayToStream( model, ii, stream );
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
if ( inDuplicateMode(server) ) {
break;
}
2003-11-01 06:35:29 +01:00
}
stream_destroy( stream );
}
2007-12-05 07:31:30 +01:00
/* Set after messages are built so their connID will be 0, but all
non-initial messages will have a non-0 connID. */
2003-11-01 06:35:29 +01:00
comms_setConnID( server->vol.comms, gameID );
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
dupe_resetTimer( server );
2003-11-01 06:35:29 +01:00
} /* server_sendInitialMessage */
#endif
static void
freeBWI( MPFORMAL BadWordInfo* bwi )
{
XP_U16 nWords = bwi->nWords;
XP_FREEP( mpool, &bwi->dictName );
2003-11-01 06:35:29 +01:00
while ( nWords-- ) {
2012-09-06 17:01:11 +02:00
XP_FREEP( mpool, &bwi->words[nWords] );
2003-11-01 06:35:29 +01:00
}
bwi->nWords = 0;
} /* freeBWI */
#ifndef XWFEATURE_STANDALONE_ONLY
static void
bwiToStream( XWStreamCtxt* stream, BadWordInfo* bwi )
{
XP_U16 nWords = bwi->nWords;
const XP_UCHAR** sp;
2003-11-01 06:35:29 +01:00
stream_putBits( stream, 4, nWords );
2012-09-06 17:01:11 +02:00
if ( STREAM_VERS_DICTNAME <= stream_getVersion( stream ) ) {
stringToStream( stream, bwi->dictName );
}
2003-11-01 06:35:29 +01:00
for ( sp = bwi->words; nWords > 0; --nWords, ++sp ) {
stringToStream( stream, *sp );
}
} /* bwiToStream */
static void
bwiFromStream( MPFORMAL XWStreamCtxt* stream, BadWordInfo* bwi )
{
XP_U16 nWords = stream_getBits( stream, 4 );
bwi->nWords = nWords;
2012-09-06 17:01:11 +02:00
bwi->dictName = ( STREAM_VERS_DICTNAME <= stream_getVersion( stream ) )
? stringFromStream( mpool, stream ) : NULL;
for ( int ii = 0; ii < nWords; ++ii ) {
bwi->words[ii] = (const XP_UCHAR*)stringFromStream( mpool, stream );
2003-11-01 06:35:29 +01:00
}
bwi->words[nWords] = NULL;
2003-11-01 06:35:29 +01:00
} /* bwiFromStream */
#ifdef DEBUG
#define caseStr(s) case s: str = #s; break;
static const char*
codeToStr( XW_Proto code )
{
const char* str = (char*)NULL;
switch ( code ) {
caseStr( XWPROTO_ERROR );
caseStr( XWPROTO_CHAT );
caseStr( XWPROTO_DEVICE_REGISTRATION );
caseStr( XWPROTO_CLIENT_SETUP );
caseStr( XWPROTO_MOVEMADE_INFO_CLIENT );
caseStr( XWPROTO_MOVEMADE_INFO_SERVER );
caseStr( XWPROTO_UNDO_INFO_CLIENT );
caseStr( XWPROTO_UNDO_INFO_SERVER );
caseStr( XWPROTO_BADWORD_INFO );
caseStr( XWPROTO_MOVE_CONFIRM );
caseStr( XWPROTO_CLIENT_REQ_END_GAME );
caseStr( XWPROTO_END_GAME );
caseStr( XWPROTO_NEW_PROTO );
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
caseStr( XWPROTO_DUPE_STUFF );
}
return str;
} /* codeToStr */
#define PRINTCODE( intro, code ) \
XP_STATUSF( "\t%s(): %s for %s", __func__, intro, codeToStr(code) )
2003-11-01 06:35:29 +01:00
#undef caseStr
#else
#define PRINTCODE(intro, code)
2003-11-01 06:35:29 +01:00
#endif
static XWStreamCtxt*
messageStreamWithHeader( ServerCtxt* server, XP_U16 devIndex, XW_Proto code )
{
XWStreamCtxt* stream;
XP_PlayerAddr channelNo = server->nv.addresses[devIndex].channelNo;
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
PRINTCODE( "making", code );
2003-11-01 06:35:29 +01:00
stream = util_makeStreamFromAddr( server->vol.util, channelNo );
stream_open( stream );
writeProto( server, stream, code );
2003-11-01 06:35:29 +01:00
return stream;
} /* messageStreamWithHeader */
static void
sendBadWordMsgs( ServerCtxt* server )
{
XP_ASSERT( server->illegalWordInfo.nWords > 0 );
2003-11-01 06:35:29 +01:00
if ( server->illegalWordInfo.nWords > 0 ) { /* fail gracefully */
XWStreamCtxt* stream =
messageStreamWithHeader( server, server->lastMoveSource,
XWPROTO_BADWORD_INFO );
stream_putBits( stream, PLAYERNUM_NBITS, server->nv.currentTurn );
2003-11-01 06:35:29 +01:00
bwiToStream( stream, &server->illegalWordInfo );
2003-11-01 06:35:29 +01:00
/* XP_U32 hash = model_getHash( server->vol.model ); */
/* stream_putU32( stream, hash ); */
/* XP_LOGFF( "wrote hash: %X", hash ); */
stream_destroy( stream );
2003-11-01 06:35:29 +01:00
freeBWI( MPPARM(server->mpool) &server->illegalWordInfo );
}
SETSTATE( server, XWSTATE_INTURN );
2003-11-01 06:35:29 +01:00
} /* sendBadWordMsgs */
#endif
static void
badWordMoveUndoAndTellUser( ServerCtxt* server, BadWordInfo* bwi )
{
XP_U16 turn;
ModelCtxt* model = server->vol.model;
/* I'm the server. I need to send a message to everybody else telling
them the move's rejected. Then undo it on this side, replacing it with
model_commitRejectedPhony(); */
model_rejectPreviousMove( model, server->pool, &turn );
util_notifyIllegalWords( server->vol.util, bwi, turn, XP_TRUE );
2003-11-01 06:35:29 +01:00
} /* badWordMoveUndoAndTellUser */
EngineCtxt*
server_getEngineFor( ServerCtxt* server, XP_U16 playerNum )
{
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
const CurGameInfo* gi = server->vol.gi;
XP_ASSERT( playerNum < gi->nPlayers );
2003-11-01 06:35:29 +01:00
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
ServerPlayer* player = &server->players[playerNum];
EngineCtxt* engine = player->engine;
if ( !engine &&
(inDuplicateMode(server) || gi->players[playerNum].isLocal) ) {
2003-11-01 06:35:29 +01:00
engine = engine_make( MPPARM(server->mpool)
server->vol.util );
2003-11-01 06:35:29 +01:00
player->engine = engine;
}
return engine;
} /* server_getEngineFor */
void
server_resetEngine( ServerCtxt* server, XP_U16 playerNum )
{
ServerPlayer* player = &server->players[playerNum];
if ( !!player->engine ) {
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
XP_ASSERT( player->deviceIndex == 0 || inDuplicateMode(server) );
2003-11-01 06:35:29 +01:00
engine_reset( player->engine );
}
} /* server_resetEngine */
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
void
server_resetEngines( ServerCtxt* server )
2003-11-01 06:35:29 +01:00
{
XP_U16 nPlayers = server->vol.gi->nPlayers;
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
for ( XP_U16 ii = 0; ii < nPlayers; ++ii ) {
2012-08-22 16:44:21 +02:00
server_resetEngine( server, ii );
2003-11-01 06:35:29 +01:00
}
} /* resetEngines */
#ifdef TEST_ROBOT_TRADE
static void
makeNotAVowel( ServerCtxt* server, Tile* newTile )
{
char face[4];
Tile tile = *newTile;
PoolContext* pool = server->pool;
TrayTileSet set;
DictionaryCtxt* dict = model_getDictionary( server->vol.model );
XP_U8 numGot = 1;
set.nTiles = 1;
for ( ; ; ) {
XP_U16 len = dict_tilesToString( dict, &tile, 1, face );
if ( len == 1 ) {
switch ( face[0] ) {
case 'A':
case 'E':
case 'I':
case 'O':
case 'U':
case '_':
break;
default:
*newTile = tile;
return;
}
}
set.tiles[0] = tile;
pool_replaceTiles( pool, &set );
pool_requestTiles( pool, &tile, &numGot );
}
} /* makeNotAVowel */
#endif
static void
curTrayAsTexts( ServerCtxt* server, XP_U16 turn, const TrayTileSet* notInTray,
XP_U16* nUsedP, const XP_UCHAR** curTrayText )
{
const TrayTileSet* tileSet = model_getPlayerTiles( server->vol.model, turn );
DictionaryCtxt* dict = model_getDictionary( server->vol.model );
XP_U16 ii, jj;
XP_U16 size = tileSet->nTiles;
const Tile* tp = tileSet->tiles;
XP_U16 tradedTiles[MAX_TRAY_TILES];
XP_U16 nNotInTray = 0;
XP_U16 nUsed = 0;
XP_MEMSET( tradedTiles, 0xFF, sizeof(tradedTiles) );
if ( !!notInTray ) {
const Tile* tp = notInTray->tiles;
nNotInTray = notInTray->nTiles;
for ( ii = 0; ii < nNotInTray; ++ii ) {
tradedTiles[ii] = *tp++;
}
}
for ( ii = 0; ii < size; ++ii ) {
Tile tile = *tp++;
XP_Bool toBeTraded = XP_FALSE;
for ( jj = 0; jj < nNotInTray; ++jj ) {
if ( tradedTiles[jj] == tile ) {
tradedTiles[jj] = 0xFFFF;
toBeTraded = XP_TRUE;
break;
}
}
if ( !toBeTraded ) {
curTrayText[nUsed++] = dict_getTileString( dict, tile );
}
}
*nUsedP = nUsed;
} /* curTrayAsTexts */
/**
* Return true (after calling util_informPickTiles()) IFF allowPickTiles is
* TRUE and the tile set passed in is NULL. If it doesn't contain as many
* tiles as are needed that's cool: server code will later interpret that as
* meaning the remainder should be assigned randomly as usual.
*/
XP_Bool
server_askPickTiles( ServerCtxt* server, XP_U16 turn, TrayTileSet* newTiles,
XP_U16 nToPick )
{
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
/* May want to allow the host to pick tiles even in duplicate mode. Not
sure how that'll work! PENDING */
XP_Bool asked = newTiles == NULL && !inDuplicateMode(server)
&& server->vol.gi->allowPickTiles;
if ( asked ) {
asked = informNeedPickTiles( server, XP_FALSE, turn, nToPick );
}
return asked;
}
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
/* dupe_trayAllowsMoves()
*
* Assuming a model with a turn loaded (but maybe not committed), build the
* tile set containing the current model tray tiles PLUS the new set we're
* considering, and see if the engine can find moves.
*/
static XP_Bool
dupe_trayAllowsMoves( ServerCtxt* server, XP_U16 turn,
const Tile* tiles, XP_U16 nTiles )
{
ModelCtxt* model = server->vol.model;
XP_U16 nInTray = model_getNumTilesInTray( model, turn );
XP_LOGF( "%s(nTiles=%d): nInTray: %d", __func__, nTiles, nInTray );
XP_ASSERT( nInTray + nTiles <= MAX_TRAY_TILES ); /* fired! */
Tile tmpTiles[MAX_TRAY_TILES];
const TrayTileSet* tray = model_getPlayerTiles( model, turn );
XP_MEMCPY( tmpTiles, &tray->tiles[0], nInTray * sizeof(tmpTiles[0]) );
XP_MEMCPY( &tmpTiles[nInTray], &tiles[0], nTiles * sizeof(tmpTiles[0]) );
/* XP_LOGF( "%s(nTiles=%d)", __func__, nTiles ); */
EngineCtxt* engine = server_getEngineFor( server, turn );
XP_Bool canMove;
MoveInfo newMove = {0};
XP_U16 score = 0;
XP_Bool result = engine_findMove( engine, server->vol.model, turn,
XP_TRUE, XP_TRUE,
tmpTiles, nTiles + nInTray, XP_FALSE, 0,
#ifdef XWFEATURE_SEARCHLIMIT
NULL, XP_FALSE,
#endif
0, /* not a robot */
&canMove, &newMove, &score )
&& canMove;
if ( result ) {
XP_LOGF( "%s(): first move found has score of %d", __func__, score );
} else {
XP_LOGF( "%s(): no moves found for tray!!!", __func__ );
}
server_resetEngine( server, turn );
return result;
}
/* Get tiles for one user. If picking is available, let user pick until
* cancels. Otherwise, and after cancel, pick for 'im.
*/
static void
fetchTiles( ServerCtxt* server, XP_U16 playerNum, XP_U16 nToFetch,
const TrayTileSet* tradedTiles, TrayTileSet* resultTiles )
{
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
XP_ASSERT( server->vol.gi->serverRole != SERVER_ISCLIENT || !inDuplicateMode(server) );
XP_Bool ask;
XP_U16 nSoFar = resultTiles->nTiles;
PoolContext* pool = server->pool;
const XP_UCHAR* curTray[MAX_TRAY_TILES];
2003-11-30 20:11:12 +01:00
#ifdef FEATURE_TRAY_EDIT
DictionaryCtxt* dict = model_getDictionary( server->vol.model );
2003-11-30 20:11:12 +01:00
#endif
XP_ASSERT( !!pool );
#ifdef FEATURE_TRAY_EDIT
2003-11-19 05:49:30 +01:00
ask = server->vol.gi->allowPickTiles
&& !LP_IS_ROBOT(&server->vol.gi->players[playerNum]);
#else
ask = XP_FALSE;
#endif
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
XP_U16 nLeftInPool = pool_getNTilesLeft( pool );
if ( nLeftInPool < nToFetch ) {
nToFetch = nLeftInPool;
}
TrayTileSet oneTile = {.nTiles = 1};
PickInfo pi = { .nTotal = nToFetch,
.thisPick = 0,
.curTiles = curTray,
};
curTrayAsTexts( server, playerNum, tradedTiles, &pi.nCurTiles, curTray );
#ifdef FEATURE_TRAY_EDIT /* good compiler would note ask==0, but... */
/* First ask until cancelled */
while ( ask && nSoFar < nToFetch ) {
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
XP_ASSERT( !inDuplicateMode(server) );
const XP_UCHAR* texts[MAX_UNIQUE_TILES];
Tile tiles[MAX_UNIQUE_TILES];
XP_S16 chosen;
XP_U16 nUsed = MAX_UNIQUE_TILES;
// XP_ASSERT(0); /* should no longer happen!!! */
model_packTilesUtil( server->vol.model, pool,
XP_TRUE, &nUsed, texts, tiles );
chosen = PICKER_PICKALL; /*util_userPickTileTray( server->vol.util,
&pi, playerNum, texts, nUsed );*/
if ( chosen == PICKER_PICKALL ) {
ask = XP_FALSE;
} else if ( chosen == PICKER_BACKUP ) {
if ( nSoFar > 0 ) {
TrayTileSet tiles;
tiles.nTiles = 1;
tiles.tiles[0] = resultTiles->tiles[--nSoFar];
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
pool_replaceTiles( pool, &tiles );
--pi.nCurTiles;
--pi.thisPick;
}
} else {
Tile tile = tiles[chosen];
oneTile.tiles[0] = tile;
pool_removeTiles( pool, &oneTile );
curTray[pi.nCurTiles++] = dict_getTileString( dict, tile );
resultTiles->tiles[nSoFar++] = tile;
++pi.thisPick;
}
}
#endif
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
/* Then fetch the rest without asking. But if we're in duplicate mode,
make sure the tray allows some moves (e.g. isn't all consonants when
the board's empty.) */
XP_ASSERT( nToFetch >= nSoFar );
XP_U16 nLeft = nToFetch - nSoFar;
for ( XP_U16 nBadTrays = 0; 0 < nLeft; ) {
pool_requestTiles( pool, &resultTiles->tiles[nSoFar], &nLeft );
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
if ( !inDuplicateMode( server ) ) {
break;
} else if ( dupe_trayAllowsMoves( server, playerNum, &resultTiles->tiles[0],
nSoFar + nLeft )
|| ++nBadTrays >= 5 ) {
break;
}
pool_replaceTiles2( pool, nLeft, &resultTiles->tiles[nSoFar] );
}
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
nSoFar += nLeft;
2004-01-29 06:07:10 +01:00
XP_ASSERT( nSoFar < 0x00FF );
resultTiles->nTiles = (XP_U8)nSoFar;
} /* fetchTiles */
2003-11-01 06:35:29 +01:00
static void
makePoolOnce( ServerCtxt* server )
2003-11-01 06:35:29 +01:00
{
ModelCtxt* model = server->vol.model;
XP_ASSERT( model_getDictionary(model) != NULL );
if ( server->pool == NULL ) {
server->pool = pool_make( MPPARM_NOCOMMA(server->mpool) );
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
XP_STATUSF( "%s(): initing pool", __func__ );
2003-11-01 06:35:29 +01:00
pool_initFromDict( server->pool, model_getDictionary(model));
}
}
static XP_Bool
assignTilesToAll( ServerCtxt* server )
{
LOG_FUNC();
XP_Bool allDone = XP_TRUE;
XP_U16 numAssigned;
XP_U16 ii;
ModelCtxt* model = server->vol.model;
CurGameInfo* gi = server->vol.gi;
XP_U16 nPlayers = gi->nPlayers;
XP_ASSERT( gi->serverRole != SERVER_ISCLIENT );
makePoolOnce( server );
2003-11-01 06:35:29 +01:00
XP_STATUSF( "assignTilesToAll" );
model_setNPlayers( model, nPlayers );
numAssigned = pool_getNTilesLeft( server->pool ) / nPlayers;
if ( numAssigned > MAX_TRAY_TILES ) {
numAssigned = MAX_TRAY_TILES;
2003-11-01 06:35:29 +01:00
}
/* Loop through all the players. If picking tiles is on, stop for each
local player that doesn't have tiles yet. Return TRUE if we get all the
way through without doing that. */
XP_Bool pickingTiles = gi->serverRole == SERVER_STANDALONE
&& gi->allowPickTiles;
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
TrayTileSet newTiles;
for ( ii = 0; ii < nPlayers; ++ii ) {
if ( 0 == model_getNumTilesInTray( model, ii ) ) {
if ( pickingTiles && !LP_IS_ROBOT(&gi->players[ii])
&& informNeedPickTiles( server, XP_TRUE, ii,
MAX_TRAY_TILES ) ) {
allDone = XP_FALSE;
break;
}
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
if ( 0 == ii || !gi->inDuplicateMode ) {
newTiles.nTiles = 0;
fetchTiles( server, ii, numAssigned, NULL, &newTiles );
}
if ( gi->inDuplicateMode ) {
XP_ASSERT( ii == DUP_PLAYER );
model_assignDupeTiles( model, &newTiles );
break;
} else {
model_assignPlayerTiles( model, ii, &newTiles );
}
}
sortTilesIf( server, ii );
2003-11-01 06:35:29 +01:00
}
LOG_RETURNF( "%d", allDone );
return allDone;
2003-11-01 06:35:29 +01:00
} /* assignTilesToAll */
#ifndef XWFEATURE_STANDALONE_ONLY
static void
getPlayerTime( ServerCtxt* server, XWStreamCtxt* stream, XP_U16 turn )
{
CurGameInfo* gi = server->vol.gi;
if ( gi->timerEnabled ) {
XP_U16 secondsUsed = stream_getU16( stream );
gi->players[turn].secondsUsed = secondsUsed;
}
} /* getPlayerTime */
#endif
static void
nextTurn( ServerCtxt* server, XP_S16 nxtTurn )
{
XP_LOGFF( "(nxtTurn=%d)", nxtTurn );
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
CurGameInfo* gi = server->vol.gi;
2003-11-01 06:35:29 +01:00
XP_S16 currentTurn = server->nv.currentTurn;
XP_Bool moreToDo = XP_FALSE;
if ( nxtTurn == PICK_CUR ) {
nxtTurn = model_getNextTurn( server->vol.model );
} else if ( nxtTurn == PICK_NEXT ) {
XP_ASSERT( server->nv.gameState == XWSTATE_INTURN );
if ( server->nv.gameState != XWSTATE_INTURN ) {
XP_LOGFF( "doing nothing; state %s != XWSTATE_INTURN",
getStateStr(server->nv.gameState) );
XP_ASSERT( !moreToDo );
goto exit;
} else if ( currentTurn >= 0 ) {
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
if ( inDuplicateMode(server) ) {
nxtTurn = dupe_nextTurn( server );
} else {
nxtTurn = model_getNextTurn( server->vol.model );
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
}
} else {
XP_LOGFF( "turn == -1 so dropping" );
}
2003-11-01 06:35:29 +01:00
} else {
/* We're doing an undo, and so won't bother figuring out who the
previous turn was or how many tiles he had: it's a sure thing he
"has" enough to be allowed to take the turn just undone. */
XP_ASSERT( nxtTurn == model_getNextTurn( server->vol.model ) );
2003-11-01 06:35:29 +01:00
}
XP_Bool playerTilesLeft = tileCountsOk( server );
SETSTATE( server, XWSTATE_INTURN ); /* even if game over, if undoing */
2003-11-01 06:35:29 +01:00
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
if ( playerTilesLeft && NPASSES_OK(server) ){
setTurn( server, nxtTurn );
2003-11-01 06:35:29 +01:00
} else {
/* I discover that the game should end. If I'm the client,
though, should I wait for the server to deduce this and send
out a message? I think so. Yes, but be sure not to compute
another PASS move. Just don't do anything! */
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
if ( gi->serverRole != SERVER_ISCLIENT ) {
SETSTATE( server, XWSTATE_NEEDSEND_ENDGAME ); /* this is it */
2003-11-01 06:35:29 +01:00
moreToDo = XP_TRUE;
} else if ( currentTurn >= 0 ) {
XP_LOGFF( "Doing nothing; waiting for server to end game" );
setTurn( server, -1 );
/* I'm the client. Do ++nothing++. */
2003-11-01 06:35:29 +01:00
}
}
if ( server->vol.showPrevMove ) {
server->vol.showPrevMove = XP_FALSE;
if ( inDuplicateMode(server) || server->nv.showRobotScores ) {
server->nv.stateAfterShow = server->nv.gameState;
SETSTATE( server, XWSTATE_NEED_SHOWSCORE );
2003-11-01 06:35:29 +01:00
moreToDo = XP_TRUE;
}
}
/* It's safer, if perhaps not always necessary, to do this here. */
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
server_resetEngines( server );
2003-11-01 06:35:29 +01:00
XP_ASSERT( server->nv.gameState != XWSTATE_GAMEOVER );
callTurnChangeListener( server );
util_turnChanged( server->vol.util, server->nv.currentTurn );
2003-11-01 06:35:29 +01:00
if ( robotMovePending(server) && !POSTPONEROBOTMOVE(server) ) {
2003-11-01 06:35:29 +01:00
moreToDo = XP_TRUE;
}
exit:
2003-11-01 06:35:29 +01:00
if ( moreToDo ) {
util_requestTime( server->vol.util );
}
} /* nextTurn */
void
server_setTurnChangeListener( ServerCtxt* server, TurnChangeListener tl,
void* data )
{
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
XP_ASSERT( !server->vol.turnChangeListener );
2003-11-01 06:35:29 +01:00
server->vol.turnChangeListener = tl;
server->vol.turnChangeData = data;
} /* server_setTurnChangeListener */
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
void
server_setTimerChangeListener( ServerCtxt* server, TimerChangeListener tl,
void* data )
{
XP_ASSERT( !server->vol.timerChangeListener );
server->vol.timerChangeListener = tl;
server->vol.timerChangeData = data;
}
2003-11-01 06:35:29 +01:00
void
server_setGameOverListener( ServerCtxt* server, GameOverListener gol,
void* data )
{
server->vol.gameOverListener = gol;
server->vol.gameOverData = data;
2011-01-19 15:21:31 +01:00
} /* server_setGameOverListener */
2003-11-01 06:35:29 +01:00
static void
storeBadWords( const WNParams* wnp, void* closure )
2003-11-01 06:35:29 +01:00
{
if ( !wnp->isLegal ) {
ServerCtxt* server = (ServerCtxt*)closure;
const XP_UCHAR* name = dict_getShortName( wnp->dict );
2003-11-01 06:35:29 +01:00
XP_LOGF( "storeBadWords called with \"%s\" (name=%s)", wnp->word, name );
if ( NULL == server->illegalWordInfo.dictName ) {
server->illegalWordInfo.dictName = copyString( server->mpool, name );
}
server->illegalWordInfo.words[server->illegalWordInfo.nWords++]
= copyString( server->mpool, wnp->word );
}
2003-11-01 06:35:29 +01:00
} /* storeBadWords */
static XP_Bool
checkMoveAllowed( ServerCtxt* server, XP_U16 playerNum )
{
CurGameInfo* gi = server->vol.gi;
XP_ASSERT( server->illegalWordInfo.nWords == 0 );
if ( gi->phoniesAction == PHONIES_DISALLOW ) {
WordNotifierInfo info;
info.proc = storeBadWords;
info.closure = server;
(void)model_checkMoveLegal( server->vol.model, playerNum,
(XWStreamCtxt*)NULL, &info );
}
return server->illegalWordInfo.nWords == 0;
} /* checkMoveAllowed */
#ifndef XWFEATURE_STANDALONE_ONLY
static void
sendMoveTo( ServerCtxt* server, XP_U16 devIndex, XP_U16 turn,
XP_Bool legal, TrayTileSet* newTiles,
const TrayTileSet* tradedTiles ) /* null if a move, set if a trade */
2003-11-01 06:35:29 +01:00
{
XP_Bool isTrade = !!tradedTiles;
CurGameInfo* gi = server->vol.gi;
XW_Proto code = gi->serverRole == SERVER_ISCLIENT?
XWPROTO_MOVEMADE_INFO_CLIENT : XWPROTO_MOVEMADE_INFO_SERVER;
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
XWStreamCtxt* stream = messageStreamWithHeader( server, devIndex, code );
2003-11-01 06:35:29 +01:00
#ifdef STREAM_VERS_BIGBOARD
XP_U16 version = stream_getVersion( stream );
if ( STREAM_VERS_BIGBOARD <= version ) {
XP_ASSERT( version == server->nv.streamVersion );
XP_U32 hash = model_getHash( server->vol.model );
#ifdef DEBUG_HASHING
XP_LOGFF( "adding hash %X", (unsigned int)hash );
#endif
stream_putU32( stream, hash );
}
#endif
2003-11-01 06:35:29 +01:00
stream_putBits( stream, PLAYERNUM_NBITS, turn ); /* who made the move */
traySetToStream( stream, newTiles );
stream_putBits( stream, 1, isTrade );
if ( isTrade ) {
traySetToStream( stream, tradedTiles );
} else {
stream_putBits( stream, 1, legal );
model_currentMoveToStream( server->vol.model, turn, stream );
if ( gi->timerEnabled ) {
stream_putU16( stream, gi->players[turn].secondsUsed );
XP_LOGF("%s: wrote secondsUsed for player %d: %d", __func__,
2003-11-01 06:35:29 +01:00
turn, gi->players[turn].secondsUsed );
} else {
XP_ASSERT( gi->players[turn].secondsUsed == 0 );
}
if ( !legal ) {
XP_ASSERT( server->illegalWordInfo.nWords > 0 );
stream_putBits( stream, PLAYERNUM_NBITS, turn );
2003-11-01 06:35:29 +01:00
bwiToStream( stream, &server->illegalWordInfo );
}
}
stream_destroy( stream );
} /* sendMoveTo */
static XP_Bool
2003-11-01 06:35:29 +01:00
readMoveInfo( ServerCtxt* server, XWStreamCtxt* stream,
XP_U16* whoMovedP, XP_Bool* isTradeP,
TrayTileSet* newTiles, TrayTileSet* tradedTiles,
XP_Bool* legalP, XP_Bool* badStackP )
2003-11-01 06:35:29 +01:00
{
LOG_FUNC();
XP_Bool success = XP_TRUE;
2003-11-01 06:35:29 +01:00
XP_Bool legalMove = XP_TRUE;
XP_Bool isTrade;
#ifdef STREAM_VERS_BIGBOARD
if ( STREAM_VERS_BIGBOARD <= stream_getVersion( stream ) ) {
XP_U32 hashReceived = stream_getU32( stream );
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
success = model_hashMatches( server->vol.model, hashReceived )
|| model_popToHash( server->vol.model, hashReceived, server->pool );
2019-11-03 10:34:18 +01:00
if ( !success ) {
XP_LOGFF( "hash mismatch: %X not found", hashReceived );
*badStackP = XP_TRUE;
#ifdef DEBUG_HASHING
} else {
2019-11-03 10:34:18 +01:00
XP_LOGF( "%s: hash match: %X",__func__, hashReceived );
#endif
2019-11-03 10:34:18 +01:00
}
2003-11-01 06:35:29 +01:00
}
#endif
if ( success ) {
XP_U16 whoMoved = stream_getBits( stream, PLAYERNUM_NBITS );
traySetFromStream( stream, newTiles );
success = pool_containsTiles( server->pool, newTiles );
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
XP_ASSERT( success );
if ( success ) {
isTrade = stream_getBits( stream, 1 );
2003-11-01 06:35:29 +01:00
if ( isTrade ) {
traySetFromStream( stream, tradedTiles );
XP_LOGF( "%s: got trade of %d tiles", __func__,
tradedTiles->nTiles );
} else {
legalMove = stream_getBits( stream, 1 );
success = model_makeTurnFromStream( server->vol.model,
whoMoved, stream );
getPlayerTime( server, stream, whoMoved );
}
2003-11-01 06:35:29 +01:00
if ( success ) {
pool_removeTiles( server->pool, newTiles );
2003-11-01 06:35:29 +01:00
*whoMovedP = whoMoved;
*isTradeP = isTrade;
*legalP = legalMove;
}
}
}
LOG_RETURNF( "%s", boolToStr(success) );
return success;
2003-11-01 06:35:29 +01:00
} /* readMoveInfo */
static void
sendMoveToClientsExcept( ServerCtxt* server, XP_U16 whoMoved, XP_Bool legal,
TrayTileSet* newTiles, const TrayTileSet* tradedTiles,
2003-11-01 06:35:29 +01:00
XP_U16 skip )
{
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
for ( XP_U16 devIndex = 1; devIndex < server->nv.nDevices; ++devIndex ) {
2003-11-01 06:35:29 +01:00
if ( devIndex != skip ) {
sendMoveTo( server, devIndex, whoMoved, legal,
newTiles, tradedTiles );
}
}
} /* sendMoveToClientsExcept */
static XWStreamCtxt*
makeTradeReportIf( ServerCtxt* server, const TrayTileSet* tradedTiles )
{
XWStreamCtxt* stream = NULL;
if ( inDuplicateMode(server) || server->nv.showRobotScores ) {
XP_UCHAR tradeBuf[64];
const XP_UCHAR* tradeStr =
dutil_getUserQuantityString( server->vol.dutil, STRD_ROBOT_TRADED,
tradedTiles->nTiles );
XP_SNPRINTF( tradeBuf, sizeof(tradeBuf), tradeStr,
tradedTiles->nTiles );
stream = mkServerStream( server );
stream_catString( stream, tradeBuf );
}
return stream;
} /* makeTradeReportIf */
static XWStreamCtxt*
makeMoveReportIf( ServerCtxt* server, XWStreamCtxt** wordsStream )
{
XWStreamCtxt* stream = NULL;
if ( inDuplicateMode(server) || server->nv.showRobotScores ) {
ModelCtxt* model = server->vol.model;
stream = mkServerStream( server );
*wordsStream = mkServerStream( server );
WordNotifierInfo* ni = model_initWordCounter( model, *wordsStream );
(void)model_checkMoveLegal( model, server->nv.currentTurn, stream, ni );
}
return stream;
} /* makeMoveReportIf */
2003-11-01 06:35:29 +01:00
/* Client is reporting a move made, complete with new tiles and time taken by
* the player. Update the model with that information as a tentative move,
* then sent info about it to all the clients, and finally commit the move
* here.
*/
static XP_Bool
reflectMoveAndInform( ServerCtxt* server, XWStreamCtxt* stream )
{
XP_Bool success;
2003-11-01 06:35:29 +01:00
ModelCtxt* model = server->vol.model;
XP_U16 whoMoved;
2008-05-31 05:26:16 +02:00
XP_U16 nTilesMoved = 0; /* trade case */
2003-11-01 06:35:29 +01:00
XP_Bool isTrade;
XP_Bool isLegalMove;
XP_Bool doRequest = XP_FALSE;
TrayTileSet newTiles;
TrayTileSet tradedTiles;
CurGameInfo* gi = server->vol.gi;
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
XP_U16 sourceClientIndex = getIndexForStream( server, stream );
2003-11-01 06:35:29 +01:00
XWStreamCtxt* mvStream = NULL;
XWStreamCtxt* wordsStream = NULL;
2003-11-01 06:35:29 +01:00
XP_ASSERT( gi->serverRole == SERVER_ISSERVER );
XP_Bool badStack = XP_FALSE;
success = readMoveInfo( server, stream, &whoMoved, &isTrade, &newTiles,
&tradedTiles, &isLegalMove, &badStack ); /* modifies model */
XP_ASSERT( !success || isLegalMove ); /* client should always report as true */
2003-11-01 06:35:29 +01:00
isLegalMove = XP_TRUE;
if ( success ) {
if ( isTrade ) {
sendMoveToClientsExcept( server, whoMoved, XP_TRUE, &newTiles,
&tradedTiles, sourceClientIndex );
2003-11-01 06:35:29 +01:00
model_makeTileTrade( model, whoMoved,
&tradedTiles, &newTiles );
pool_replaceTiles( server->pool, &tradedTiles );
2003-11-01 06:35:29 +01:00
server->vol.showPrevMove = XP_TRUE;
mvStream = makeTradeReportIf( server, &tradedTiles );
2003-11-01 06:35:29 +01:00
} else {
nTilesMoved = model_getCurrentMoveCount( model, whoMoved );
isLegalMove = (nTilesMoved == 0)
|| checkMoveAllowed( server, whoMoved );
2003-11-01 06:35:29 +01:00
/* I don't think this will work if there are more than two devices in
a palm game; need to change state and get out of here before
returning to send additional messages. PENDING(ehouse) */
sendMoveToClientsExcept( server, whoMoved, isLegalMove, &newTiles,
(TrayTileSet*)NULL, sourceClientIndex );
2003-11-01 06:35:29 +01:00
server->vol.showPrevMove = XP_TRUE;
if ( isLegalMove ) {
mvStream = makeMoveReportIf( server, &wordsStream );
}
2003-11-01 06:35:29 +01:00
success = model_commitTurn( model, whoMoved, &newTiles );
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
server_resetEngines( server );
}
2003-11-01 06:35:29 +01:00
if ( success && isLegalMove ) {
XP_U16 nTilesLeft = model_getNumTilesTotal( model, whoMoved );
2003-11-01 06:35:29 +01:00
if ( (gi->phoniesAction == PHONIES_DISALLOW) && (nTilesMoved > 0) ) {
server->lastMoveSource = sourceClientIndex;
SETSTATE( server, XWSTATE_MOVE_CONFIRM_MUSTSEND );
doRequest = XP_TRUE;
} else if ( nTilesLeft > 0 ) {
nextTurn( server, PICK_NEXT );
} else {
SETSTATE(server, XWSTATE_NEEDSEND_ENDGAME );
doRequest = XP_TRUE;
}
if ( !!mvStream ) {
XP_ASSERT( !server->nv.prevMoveStream );
server->nv.prevMoveStream = mvStream;
XP_ASSERT( !server->nv.prevWordsStream );
server->nv.prevWordsStream = wordsStream;
}
2003-11-01 06:35:29 +01:00
} else {
/* The client from which the move came still needs to be told. But we
can't send a message now since we're burried in a message handler.
(Palm, at least, won't manage.) So set up state to tell that
client again in a minute. */
SETSTATE( server, XWSTATE_NEEDSEND_BADWORD_INFO );
server->lastMoveSource = sourceClientIndex;
2003-11-01 06:35:29 +01:00
doRequest = XP_TRUE;
}
if ( doRequest ) {
util_requestTime( server->vol.util );
2003-11-01 06:35:29 +01:00
}
} else if ( badStack ) {
success = XP_TRUE; /* so we don't reject the move forever */
2003-11-01 06:35:29 +01:00
}
return success;
2003-11-01 06:35:29 +01:00
} /* reflectMoveAndInform */
static XP_Bool
reflectMove( ServerCtxt* server, XWStreamCtxt* stream )
{
XP_Bool isTrade;
XP_Bool isLegal;
XP_U16 whoMoved;
TrayTileSet newTiles;
TrayTileSet tradedTiles;
ModelCtxt* model = server->vol.model;
XWStreamCtxt* mvStream = NULL;
XWStreamCtxt* wordsStream = NULL;
2003-11-01 06:35:29 +01:00
XP_Bool badStack = XP_FALSE;
XP_Bool moveOk = XP_FALSE;
if ( XWSTATE_INTURN != server->nv.gameState ) {
XP_LOGFF( "BAD: game state: %s, not XWSTATE_INTURN", getStateStr(server->nv.gameState ) );
} else if ( server->nv.currentTurn < 0 ) {
XP_LOGFF( "BAD: currentTurn %d < 0", server->nv.currentTurn );
} else if ( ! readMoveInfo( server, stream, &whoMoved, &isTrade, &newTiles,
&tradedTiles, &isLegal, &badStack ) ) { /* modifies model */
XP_LOGFF( "BAD: readMoveInfo() failed" );
} else {
moveOk = XP_TRUE;
}
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
if ( moveOk ) {
if ( isTrade ) {
model_makeTileTrade( model, whoMoved, &tradedTiles, &newTiles );
pool_replaceTiles( server->pool, &tradedTiles );
server->vol.showPrevMove = XP_TRUE;
mvStream = makeTradeReportIf( server, &tradedTiles );
} else {
server->vol.showPrevMove = XP_TRUE;
mvStream = makeMoveReportIf( server, &wordsStream );
model_commitTurn( model, whoMoved, &newTiles );
}
if ( !!mvStream ) {
XP_ASSERT( !server->nv.prevMoveStream );
server->nv.prevMoveStream = mvStream;
XP_ASSERT( !server->nv.prevWordsStream );
server->nv.prevWordsStream = wordsStream;
}
2003-11-01 06:35:29 +01:00
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
server_resetEngines( server );
2003-11-01 06:35:29 +01:00
if ( !isLegal ) {
XP_ASSERT( server->vol.gi->serverRole == SERVER_ISCLIENT );
handleIllegalWord( server, stream );
}
} else if ( badStack ) {
moveOk = XP_TRUE;
2003-11-01 06:35:29 +01:00
}
return moveOk;
2003-11-01 06:35:29 +01:00
} /* reflectMove */
#endif /* XWFEATURE_STANDALONE_ONLY */
2003-11-01 06:35:29 +01:00
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
static void
2020-03-29 00:25:30 +01:00
dupe_chooseMove( const ServerCtxt* server, XP_U16 nPlayers, XP_U16 scores[],
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
XP_U16* winner, XP_U16* winningNTiles )
{
ModelCtxt* model = server->vol.model;
struct {
XP_U16 score;
XP_U16 nTiles;
XP_U16 player;
} moveData[MAX_NUM_PLAYERS];
XP_U16 nWinners = 0;
/* Pick the best move. "Best" means highest scoring, or in case of a score
tie the largest number of tiles used. If there's still a tie, pick at
random. :-) */
for ( XP_U16 player = 0; player < nPlayers; ++player ) {
XP_S16 score;
if ( !getCurrentMoveScoreIfLegal( model, player, NULL, NULL, &score ) ) {
score = 0;
}
scores[player] = score;
XP_U16 nTiles = score == 0 ? 0 : model_getCurrentMoveCount( model, player );
XP_Bool saveIt = nWinners == 0;
if ( !saveIt ) { /* not our first time through */
if ( score > moveData[nWinners-1].score ) { /* score wins? Keep it! */
saveIt = XP_TRUE;
nWinners = 0;
} else if ( score < moveData[nWinners-1].score ) { /* score too low? */
// score lower than best; drop it!
} else if ( nTiles > moveData[nWinners-1].nTiles ) {
saveIt = XP_TRUE;
nWinners = 0;
} else if ( nTiles < moveData[nWinners-1].nTiles ) {
// number of tiles lower than best; drop it!
} else {
saveIt = XP_TRUE;
}
}
if ( saveIt ) {
moveData[nWinners].score = score;
moveData[nWinners].nTiles = nTiles;
moveData[nWinners].player = player;
++nWinners;
}
}
2020-03-29 00:25:30 +01:00
const XP_U16 winnerIndx = 1 == nWinners ? 0 : XP_RANDOM() % nWinners;
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
*winner = moveData[winnerIndx].player;
*winningNTiles = moveData[winnerIndx].nTiles;
/* This fires: I need the reassign-no-moves thing */
if ( *winningNTiles == 0 ) {
XP_LOGF( "%s(): no scoring move found", __func__ );
} else {
XP_LOGF( "%s(): %d wins with %d points", __func__, *winner,
scores[*winner] );
}
}
static XP_Bool
2020-03-29 00:25:30 +01:00
dupe_allForced( const ServerCtxt* server )
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
{
XP_Bool result = XP_TRUE;
for ( XP_U16 ii = 0; result && ii < server->vol.gi->nPlayers; ++ii ) {
result = server->nv.dupTurnsForced[ii];
}
LOG_RETURNF( "%d", result );
return result;
}
/* Called for host or standalone case when all moves for the turn are
present. Pick the best one and commit locally. In server case, transmit to
each guest device as well. */
static void
dupe_commitAndReport( ServerCtxt* server )
{
const XP_U16 nPlayers = server->vol.gi->nPlayers;
XP_U16 scores[nPlayers];
XP_U16 winner;
XP_U16 nTiles;
2020-03-29 00:25:30 +01:00
dupe_chooseMove( server, nPlayers, scores, &winner, &nTiles );
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
/* If nobody can move AND there are tiles left, trade instead of recording
a 0. Unless we're running a timer, in which case it's most likely
noboby's playing, so pause the game instead. */
if ( 0 == scores[winner] && 0 < pool_getNTilesLeft(server->pool) ) {
2020-03-29 00:25:30 +01:00
if ( dupe_timerRunning() && dupe_allForced( server ) ) {
dupe_autoPause( server );
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
} else {
dupe_makeAndReportTrade( server );
}
} else {
dupe_commitAndReportMove( server, winner, nPlayers, scores, nTiles );
}
dupe_clearState( server );
} /* dupe_commitAndReport */
static void
sendStreamToDev( ServerCtxt* server, XP_U16 dev, XW_Proto code,
XWStreamCtxt* data )
{
XWStreamCtxt* stream = messageStreamWithHeader( server, dev, code );
const XP_U16 dataLen = stream_getSize( data );
const XP_U8* dataPtr = stream_getPtr( data );
stream_putBytes( stream, dataPtr, dataLen );
stream_destroy( stream );
}
/* Called in the case where nobody was able to move, does a trade. The goal is
to make it more likely that folks will be able to move with the next set of
tiles. For now I'll put them back first so there's a chance of getting some
of the same back.
*/
static void
dupe_makeAndReportTrade( ServerCtxt* server )
{
LOG_FUNC();
PoolContext* pool = server->pool;
ModelCtxt* model = server->vol.model;
model_resetCurrentTurn( model, DUP_PLAYER );
TrayTileSet oldTiles = *model_getPlayerTiles( model, DUP_PLAYER );
2020-03-29 00:25:30 +01:00
model_removePlayerTiles( model, DUP_PLAYER, &oldTiles );
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
pool_replaceTiles( pool, &oldTiles );
TrayTileSet newTiles = {0};
fetchTiles( server, DUP_PLAYER, oldTiles.nTiles, NULL, &newTiles );
model_commitDupeTrade( model, &oldTiles, &newTiles );
model_addNewTiles( model, DUP_PLAYER, &newTiles );
updateOthersTiles( server );
if ( server->vol.gi->serverRole == SERVER_ISSERVER ) {
XWStreamCtxt* tmpStream =
mem_stream_make_raw( MPPARM(server->mpool)
dutil_getVTManager(server->vol.dutil) );
addDupeStuffMark( tmpStream, DUPE_STUFF_TRADES_SERVER );
traySetToStream( tmpStream, &oldTiles );
traySetToStream( tmpStream, &newTiles );
/* Send it to each one */
for ( XP_U16 dev = 1; dev < server->nv.nDevices; ++dev ) {
sendStreamToDev( server, dev, XWPROTO_DUPE_STUFF, tmpStream );
}
stream_destroy( tmpStream );
}
dupe_resetTimer( server );
dupe_setupShowTrade( server, newTiles.nTiles );
LOG_RETURN_VOID();
} /* dupe_makeAndReportTrade */
static void
dupe_transmitPause( ServerCtxt* server, DupPauseType typ, XP_U16 turn,
const XP_UCHAR* msg, XP_S16 skipDev )
{
XP_LOGF( "%s(type=%d, msg=%s)", __func__, typ, msg );
CurGameInfo* gi = server->vol.gi;
if ( gi->serverRole != SERVER_STANDALONE ) {
XP_Bool amClient = SERVER_ISCLIENT == gi->serverRole;
XWStreamCtxt* tmpStream =
mem_stream_make_raw( MPPARM(server->mpool)
dutil_getVTManager(server->vol.dutil) );
addDupeStuffMark( tmpStream, DUPE_STUFF_PAUSE );
stream_putBits( tmpStream, 1, amClient );
stream_putBits( tmpStream, 2, typ );
if ( AUTOPAUSED != typ ) {
stream_putBits( tmpStream, PLAYERNUM_NBITS, turn );
}
stream_putU32( tmpStream, server->nv.dupTimerExpires );
if ( AUTOPAUSED != typ ) {
stringToStream( tmpStream, msg );
}
if ( amClient ) {
sendStreamToDev( server, SERVER_DEVICE, XWPROTO_DUPE_STUFF, tmpStream );
} else {
for ( XP_U16 dev = 1; dev < server->nv.nDevices; ++dev ) {
if ( dev != skipDev ) {
sendStreamToDev( server, dev, XWPROTO_DUPE_STUFF, tmpStream );
}
}
}
stream_destroy( tmpStream );
}
}
static XP_Bool
dupe_receivePause( ServerCtxt* server, XWStreamCtxt* stream )
{
LOG_FUNC();
XP_Bool isClient = (XP_Bool)stream_getBits( stream, 1 );
XP_Bool accept = isClient == amServer( server );
if ( accept ) {
const CurGameInfo* gi = server->vol.gi;
DupPauseType pauseType = (DupPauseType)stream_getBits( stream, 2 );
XP_S16 turn = -1;
if ( AUTOPAUSED != pauseType ) {
turn = (XP_S16)stream_getBits( stream, PLAYERNUM_NBITS );
XP_ASSERT( 0 <= turn );
} else {
dupe_clearState( server );
}
setDupTimerExpires( server, (XP_S32)stream_getU32( stream ) );
XP_UCHAR* msg = NULL;
if ( AUTOPAUSED != pauseType ) {
msg = stringFromStream( server->mpool, stream );
XP_LOGF( "%s(): pauseType: %d; guiltyParty: %d; msg: %s", __func__,
pauseType, turn, msg );
}
if ( amServer( server ) ) {
XP_U16 senderDev = getIndexForStream( server, stream );
dupe_transmitPause( server, pauseType, turn, msg, senderDev );
}
model_noteDupePause( server->vol.model, pauseType, turn, msg );
callTurnChangeListener( server );
const XP_UCHAR* name = NULL;
if ( AUTOPAUSED != pauseType ) {
name = gi->players[turn].name;
}
dutil_notifyPause( server->vol.dutil, gi->gameID, pauseType, turn,
name, msg );
XP_FREEP( server->mpool, &msg );
}
LOG_RETURNF( "%d", accept );
return accept;
}
static XP_Bool
2020-03-29 00:25:30 +01:00
dupe_handleStuff( ServerCtxt* server, XWStreamCtxt* stream )
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
{
XP_Bool accepted;
XP_Bool isServer = amServer( server );
DUPE_STUFF typ = getDupeStuffMark( stream );
switch ( typ ) {
case DUPE_STUFF_MOVE_CLIENT:
accepted = isServer && dupe_handleClientMoves( server, stream );
break;
case DUPE_STUFF_MOVES_SERVER:
accepted = !isServer && dupe_handleServerMoves( server, stream );
break;
case DUPE_STUFF_TRADES_SERVER:
accepted = !isServer && dupe_handleServerTrade( server, stream );
break;
case DUPE_STUFF_PAUSE:
accepted = dupe_receivePause( server, stream );
break;
default:
XP_ASSERT(0);
accepted = XP_FALSE;
}
return accepted;
}
static void
dupe_commitAndReportMove( ServerCtxt* server, XP_U16 winner,
XP_U16 nPlayers, XP_U16* scores,
XP_U16 nTiles )
{
ModelCtxt* model = server->vol.model;
/* The winning move is the one we'll commit everywhere. Get it. Reset
everybody else then commit it there. */
MoveInfo moveInfo = {0};
model_currentMoveToMoveInfo( model, winner, &moveInfo );
TrayTileSet newTiles = {0};
fetchTiles( server, winner, nTiles, NULL, &newTiles );
for ( XP_U16 player = 0; player < nPlayers; ++player ) {
model_resetCurrentTurn( model, player );
}
model_commitDupeTurn( model, &moveInfo, nPlayers, scores, &newTiles );
updateOthersTiles( server );
if ( server->vol.gi->serverRole == SERVER_ISSERVER ) {
XWStreamCtxt* tmpStream =
mem_stream_make_raw( MPPARM(server->mpool)
dutil_getVTManager(server->vol.dutil) );
addDupeStuffMark( tmpStream, DUPE_STUFF_MOVES_SERVER );
moveInfoToStream( tmpStream, &moveInfo, bitsPerTile(server) );
traySetToStream( tmpStream, &newTiles );
/* Now write all the scores */
stream_putBits( tmpStream, NPLAYERS_NBITS, nPlayers );
scoresToStream( tmpStream, nPlayers, scores );
/* Send it to each one */
for ( XP_U16 dev = 1; dev < server->nv.nDevices; ++dev ) {
sendStreamToDev( server, dev, XWPROTO_DUPE_STUFF, tmpStream );
}
stream_destroy( tmpStream );
}
dupe_resetTimer( server );
dupe_setupShowMove( server, scores );
} /* dupe_commitAndReportMove */
static void
dupe_forceCommits( ServerCtxt* server )
{
2020-03-29 00:25:30 +01:00
if ( dupe_timerRunning() ) {
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
XP_U32 now = dutil_getCurSeconds( server->vol.dutil );
if ( server->nv.dupTimerExpires <= now ) {
ModelCtxt* model = server->vol.model;
for ( XP_U16 ii = 0; ii < server->vol.gi->nPlayers; ++ii ) {
if ( server->vol.gi->players[ii].isLocal
&& !server->nv.dupTurnsMade[ii] ) {
if ( !model_checkMoveLegal( model, ii, (XWStreamCtxt*)NULL,
(WordNotifierInfo*)NULL ) ) {
model_resetCurrentTurn( model, ii );
}
commitMoveImpl( server, ii, NULL, XP_TRUE );
}
}
}
}
}
/* Figure out whether everything we care about is done for this turn. If I'm a
guest, I care only about local players. If I'm a host or standalone, I care
about everything. */
static void
2020-03-29 00:25:30 +01:00
dupe_checkWhatsDone( const ServerCtxt* server, XP_Bool amServer,
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
XP_Bool* allDoneP, XP_Bool* allLocalsDoneP )
{
XP_Bool allDone = XP_TRUE;
XP_Bool allLocalsDone = XP_TRUE;
for ( XP_U16 ii = 0;
(allLocalsDone || allDone) && ii < server->vol.gi->nPlayers;
++ii ) {
XP_Bool done = server->nv.dupTurnsMade[ii];
XP_Bool isLocal = server->vol.gi->players[ii].isLocal;
if ( isLocal ) {
allLocalsDone = allLocalsDone & done;
}
if ( amServer || isLocal ) {
allDone = allDone && done;
}
}
// XP_LOGF( "%s(): allDone: %d; allLocalsDone: %d", __func__, allDone, allLocalsDone );
*allDoneP = allDone;
*allLocalsDoneP = allLocalsDone;
}
XP_Bool
server_dupTurnDone( const ServerCtxt* server, XP_U16 turn )
{
return server->vol.gi->players[turn].isLocal
&& server->nv.dupTurnsMade[turn];
}
static XP_Bool
dupe_checkTurns( ServerCtxt* server )
{
/* If all local players have made moves, it's time to commit the moves
locally or notifiy the host */
XP_Bool allDone = XP_TRUE;
XP_Bool allLocalsDone = XP_TRUE;
XP_Bool amServer = server->vol.gi->serverRole == SERVER_ISSERVER
|| server->vol.gi->serverRole == SERVER_STANDALONE;
2020-03-29 00:25:30 +01:00
dupe_checkWhatsDone( server, amServer, &allDone, &allLocalsDone );
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
XP_LOGF( "%s(): allDone: %d", __func__, allDone );
if ( allDone ) { /* Yep: commit time */
if ( amServer ) { /* I now have everything I need to move the
game foreward */
dupe_commitAndReport( server );
} else if ( ! server->nv.dupTurnsSent ) { /* I need to send info for
local players to host */
XWStreamCtxt* stream =
messageStreamWithHeader( server, SERVER_DEVICE,
XWPROTO_DUPE_STUFF );
addDupeStuffMark( stream, DUPE_STUFF_MOVE_CLIENT );
/* XP_U32 hash = model_getHash( server->vol.model ); */
/* stream_putU32( stream, hash ); */
XP_U16 localCount = gi_countLocalPlayers( server->vol.gi, XP_FALSE );
XP_LOGF( "%s(): writing %d moves", __func__, localCount );
stream_putBits( stream, NPLAYERS_NBITS, localCount );
for ( XP_U16 ii = 0; ii < server->vol.gi->nPlayers; ++ii ) {
if ( server->vol.gi->players[ii].isLocal ) {
stream_putBits( stream, PLAYERNUM_NBITS, ii );
stream_putBits( stream, 1, server->nv.dupTurnsForced[ii] );
model_currentMoveToStream( server->vol.model, ii, stream );
XP_LOGF( "%s(): wrote move %d ", __func__, ii );
}
}
stream_destroy( stream ); /* sends it */
server->nv.dupTurnsSent = XP_TRUE;
}
}
return allDone;
} /* dupe_checkTurns */
static void
dupe_postStatus( const ServerCtxt* server, XP_Bool allDone )
{
/* Standalone case: say nothing here. Should be self evident what's
up.*/
/* If I'm a client and it's NOT a local turn, tell user that his
turn's been sent off and he has to wait.
*
* If I'm a server, tell user how many of the expected moves have not
* yet been received. If all have been, say nothing.
*/
XP_UCHAR buf[256] = {0};
XP_Bool amHost = XP_FALSE;
switch ( server->vol.gi->serverRole ) {
case SERVER_STANDALONE:
/* do nothing */
break;
case SERVER_ISCLIENT:
if ( allDone ) {
const XP_UCHAR* fmt = dutil_getUserString( server->vol.dutil,
STR_DUP_CLIENT_SENT );
XP_SNPRINTF( buf, VSIZE(buf), "%s", fmt );
}
break;
case SERVER_ISSERVER:
amHost = XP_TRUE;
if ( !allDone ) {
XP_U16 nHere = 0;
for ( XP_U16 ii = 0; ii < server->vol.gi->nPlayers; ++ii ) {
if ( server->nv.dupTurnsMade[ii] ) {
++nHere;
}
}
const XP_UCHAR* fmt = dutil_getUserString( server->vol.dutil,
STRDD_DUP_HOST_RECEIVED );
XP_SNPRINTF( buf, VSIZE(buf), fmt, nHere, server->vol.gi->nPlayers );
}
}
if ( !!buf[0] ) {
XP_LOGF( "%s(): msg=%s", __func__, buf );
util_notifyDupStatus( server->vol.util, amHost, buf );
}
}
/* Called on client only? */
static void
dupe_storeTurn( ServerCtxt* server, XP_U16 turn, XP_Bool forced )
{
XP_ASSERT( !server->nv.dupTurnsMade[turn] );
XP_ASSERT( server->vol.gi->players[turn].isLocal ); /* not if I'm the host! */
server->nv.dupTurnsMade[turn] = XP_TRUE;
server->nv.dupTurnsForced[turn] = forced;
XP_Bool allDone = dupe_checkTurns( server );
dupe_postStatus( server, allDone );
nextTurn( server, PICK_NEXT );
XP_LOGF( "%s(): player %d now has %d tiles", __func__, turn,
model_getNumTilesInTray( server->vol.model, turn ) );
}
static void
dupe_clearState( ServerCtxt* server )
{
for ( XP_U16 ii = 0; ii < server->vol.gi->nPlayers; ++ii ) {
server->nv.dupTurnsMade[ii] = XP_FALSE;
server->nv.dupTurnsForced[ii] = XP_FALSE;
}
server->nv.dupTurnsSent = XP_FALSE;
}
/* Make it the "turn" of the next local player who hasn't yet submitted a
turn. If all have, make it a non-local player's turn. */
static XP_U16
dupe_nextTurn( const ServerCtxt* server )
{
CurGameInfo* gi = server->vol.gi;
XP_S16 result = -1;
XP_U16 nextNonLocal = DUP_PLAYER;
for ( XP_U16 ii = 0; ii < gi->nPlayers; ++ii ) {
if ( !server->nv.dupTurnsMade[ii] ) {
if ( gi->players[ii].isLocal ) {
result = ii;
break;
} else {
nextNonLocal = ii;
}
}
}
if ( -1 == result ) {
result = nextNonLocal;
}
return result;
}
2003-11-01 06:35:29 +01:00
/* A local player is done with his turn. If a client device, broadcast
* the move to the server (after which a response should be coming soon.)
* If the server, then that step can be skipped: go straight to doing what
* the server does after learning of a move on a remote device.
*
* Second cut. Whether server or client, be responsible for checking the
* basic legality of the move and taking new tiles out of the pool. If
* client, send the move and new tiles to the server. If the server, fall
* back to what will do after hearing from client: tell everybody who doesn't
* already know what's happened: move and new tiles together.
*
* What about phonies when DISALLOW is set? The server's ultimately
* responsible, since it has the dictionary, so the client can't check. So
* when server, check and send move together with a flag indicating legality.
* Client is responsible for first posting the move to the model and then
* undoing it. When client, send the move and go into a state waiting to hear
* if it was legal -- but only if DISALLOW is set.
*/
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
static XP_Bool
commitMoveImpl( ServerCtxt* server, XP_U16 player, TrayTileSet* newTilesP,
XP_Bool forced )
2003-11-01 06:35:29 +01:00
{
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
XP_Bool inDupeMode = inDuplicateMode(server);
XP_ASSERT( server->nv.currentTurn == player || inDupeMode );
XP_S16 turn = player;
TrayTileSet newTiles = {0};
2003-11-01 06:35:29 +01:00
if ( !!newTilesP ) {
newTiles = *newTilesP;
}
2003-11-01 06:35:29 +01:00
#ifdef DEBUG
2020-01-31 02:51:44 +01:00
CurGameInfo* gi = server->vol.gi;
if ( LP_IS_ROBOT( &gi->players[turn] ) ) {
2020-01-31 02:51:44 +01:00
ModelCtxt* model = server->vol.model;
2003-11-01 06:35:29 +01:00
XP_ASSERT( model_checkMoveLegal( model, turn, (XWStreamCtxt*)NULL,
(WordNotifierInfo*)NULL ) );
}
#endif
/* commit the move. get new tiles. if server, send to everybody.
if client, send to server. */
XP_ASSERT( turn >= 0 );
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
if ( inDupeMode ) {
dupe_storeTurn( server, turn, forced );
} else {
finishMove( server, &newTiles, turn );
}
return XP_TRUE;
}
XP_Bool
server_commitMove( ServerCtxt* server, XP_U16 player, TrayTileSet* newTilesP )
{
return commitMoveImpl( server, player, newTilesP, XP_FALSE );
}
static void
finishMove( ServerCtxt* server, TrayTileSet* newTiles, XP_U16 turn )
{
LOG_FUNC();
ModelCtxt* model = server->vol.model;
CurGameInfo* gi = server->vol.gi;
pool_removeTiles( server->pool, newTiles );
server->vol.pickTilesCalled[turn] = XP_FALSE;
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
XP_U16 nTilesMoved = model_getCurrentMoveCount( model, turn );
fetchTiles( server, turn, nTilesMoved, NULL, newTiles );
2003-11-01 06:35:29 +01:00
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
XP_Bool isClient = gi->serverRole == SERVER_ISCLIENT;
XP_Bool isLegalMove = XP_TRUE;
2003-11-01 06:35:29 +01:00
#ifndef XWFEATURE_STANDALONE_ONLY
if ( isClient ) {
/* just send to server */
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
sendMoveTo( server, SERVER_DEVICE, turn, XP_TRUE, newTiles,
2003-11-01 06:35:29 +01:00
(TrayTileSet*)NULL );
} else {
isLegalMove = checkMoveAllowed( server, turn );
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
sendMoveToClientsExcept( server, turn, isLegalMove, newTiles,
2003-11-01 06:35:29 +01:00
(TrayTileSet*)NULL, SERVER_DEVICE );
}
#else
isLegalMove = checkMoveAllowed( server, turn );
#endif
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
model_commitTurn( model, turn, newTiles );
sortTilesIf( server, turn );
2003-11-01 06:35:29 +01:00
if ( !isLegalMove && !isClient ) {
badWordMoveUndoAndTellUser( server, &server->illegalWordInfo );
/* It's ok to free these guys. I'm the server, and the move was made
here, so I've notified all clients already by setting the flag (and
passing the word) in sendMoveToClientsExcept. */
freeBWI( MPPARM(server->mpool) &server->illegalWordInfo );
}
if ( 0 ) {
2003-11-01 06:35:29 +01:00
#ifndef XWFEATURE_STANDALONE_ONLY
} else if (isClient && (gi->phoniesAction == PHONIES_DISALLOW)
&& nTilesMoved > 0 ) {
SETSTATE( server, XWSTATE_MOVE_CONFIRM_WAIT );
setTurn( server, -1 );
#endif
2003-11-01 06:35:29 +01:00
} else {
nextTurn( server, PICK_NEXT );
}
XP_LOGFF( "player %d now has %d tiles", turn,
model_getNumTilesInTray( model, turn ) );
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
} /* finishMove */
2003-11-01 06:35:29 +01:00
XP_Bool
server_commitTrade( ServerCtxt* server, const TrayTileSet* oldTiles,
TrayTileSet* newTilesP )
2003-11-01 06:35:29 +01:00
{
TrayTileSet newTiles = {0};
if ( !!newTilesP ) {
newTiles = *newTilesP;
}
2003-11-01 06:35:29 +01:00
XP_U16 turn = server->nv.currentTurn;
fetchTiles( server, turn, oldTiles->nTiles, oldTiles, &newTiles );
2003-11-01 06:35:29 +01:00
#ifndef XWFEATURE_STANDALONE_ONLY
if ( server->vol.gi->serverRole == SERVER_ISCLIENT ) {
/* just send to server */
sendMoveTo(server, SERVER_DEVICE, turn, XP_TRUE, &newTiles, oldTiles);
2003-11-01 06:35:29 +01:00
} else {
sendMoveToClientsExcept( server, turn, XP_TRUE, &newTiles, oldTiles,
2003-11-01 06:35:29 +01:00
SERVER_DEVICE );
}
#endif
pool_replaceTiles( server->pool, oldTiles );
XP_ASSERT( turn == server->nv.currentTurn );
model_makeTileTrade( server->vol.model, turn, oldTiles, &newTiles );
2011-09-10 03:32:04 +02:00
sortTilesIf( server, turn );
2003-11-01 06:35:29 +01:00
nextTurn( server, PICK_NEXT );
return XP_TRUE;
} /* server_commitTrade */
XP_S16
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
server_getCurrentTurn( const ServerCtxt* server, XP_Bool* isLocal )
2003-11-01 06:35:29 +01:00
{
XP_S16 turn = server->nv.currentTurn;
if ( NULL != isLocal && turn >= 0 ) {
2018-04-14 19:17:12 +02:00
*isLocal = server->vol.gi->players[turn].isLocal;
}
return turn;
2003-11-01 06:35:29 +01:00
} /* server_getCurrentTurn */
XP_Bool
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
server_isPlayersTurn( const ServerCtxt* server, XP_U16 turn )
{
XP_Bool result = XP_FALSE;
if ( inDuplicateMode(server) ) {
if ( server->vol.gi->players[turn].isLocal
&& ! server->nv.dupTurnsMade[turn] ) {
result = XP_TRUE;
}
} else {
result = turn == server_getCurrentTurn( server, NULL );
}
// XP_LOGF( "%s(%d) => %d", __func__, turn, result );
return result;
}
XP_Bool
server_getGameIsOver( const ServerCtxt* server )
2003-11-01 06:35:29 +01:00
{
return server->nv.gameState == XWSTATE_GAMEOVER;
} /* server_getGameIsOver */
XP_U16
server_getMissingPlayers( const ServerCtxt* server )
{
/* list players for which we're reserving slots that haven't shown up yet.
* If I'm a guest and haven't received the registration message and set
* server->nv.addresses[0].channelNo, all non-local players are missing.
* If I'm a host, players whose deviceIndex is -1 are missing.
*/
XP_U16 result = 0;
XP_U16 ii;
2013-12-19 16:59:00 +01:00
switch( server->vol.gi->serverRole ) {
case SERVER_ISCLIENT:
if ( 0 == server->nv.addresses[0].channelNo ) {
CurGameInfo* gi = server->vol.gi;
const LocalPlayer* lp = gi->players;
for ( ii = 0; ii < gi->nPlayers; ++ii ) {
if ( !lp->isLocal ) {
result |= 1 << ii;
}
++lp;
}
}
2013-12-19 16:59:00 +01:00
break;
case SERVER_ISSERVER:
if ( 0 < server->nv.pendingRegistrations ) {
XP_U16 nPlayers = server->vol.gi->nPlayers;
const ServerPlayer* players = server->players;
for ( ii = 0; ii < nPlayers; ++ii ) {
if ( players->deviceIndex == UNKNOWN_DEVICE ) {
result |= 1 << ii;
}
++players;
}
}
2013-12-19 16:59:00 +01:00
break;
}
return result;
}
XP_U32
server_getLastMoveTime( const ServerCtxt* server )
{
return server->nv.lastMoveTime;
}
2003-11-01 06:35:29 +01:00
static void
doEndGame( ServerCtxt* server, XP_S16 quitter )
2003-11-01 06:35:29 +01:00
{
2012-10-26 15:49:15 +02:00
XP_ASSERT( quitter < server->vol.gi->nPlayers );
SETSTATE( server, XWSTATE_GAMEOVER );
setTurn( server, -1 );
server->nv.quitter = quitter;
2003-11-01 06:35:29 +01:00
(*server->vol.gameOverListener)( server->vol.gameOverData, quitter );
2003-11-01 06:35:29 +01:00
} /* doEndGame */
static void
putQuitter( const ServerCtxt* server, XWStreamCtxt* stream, XP_S16 quitter )
{
if ( STREAM_VERS_DICTNAME <= server->nv.streamVersion ) {
stream_putU8( stream, quitter );
}
}
static void
2012-10-26 15:49:15 +02:00
getQuitter( const ServerCtxt* server, XWStreamCtxt* stream, XP_S8* quitter )
{
*quitter = STREAM_VERS_DICTNAME <= server->nv.streamVersion
? stream_getU8( stream ) : -1;
}
2003-11-01 06:35:29 +01:00
/* Somebody wants to end the game.
*
* If I'm the server, I send a END_GAME message to all clients. If I'm a
* client, I send the GAME_OVER_REQUEST message to the server. If I'm the
* server and this is called in response to a GAME_OVER_REQUEST, send the
* GAME_OVER message to all clients including the one that requested it.
*/
static void
endGameInternal( ServerCtxt* server, GameEndReason XP_UNUSED(why), XP_S16 quitter )
2003-11-01 06:35:29 +01:00
{
XP_ASSERT( server->nv.gameState != XWSTATE_GAMEOVER );
2012-10-26 15:49:15 +02:00
XP_ASSERT( quitter < server->vol.gi->nPlayers );
2003-11-01 06:35:29 +01:00
if ( server->vol.gi->serverRole != SERVER_ISCLIENT ) {
#ifndef XWFEATURE_STANDALONE_ONLY
XP_U16 devIndex;
for ( devIndex = 1; devIndex < server->nv.nDevices; ++devIndex ) {
XWStreamCtxt* stream;
stream = messageStreamWithHeader( server, devIndex,
XWPROTO_END_GAME );
putQuitter( server, stream, quitter );
2003-11-01 06:35:29 +01:00
stream_destroy( stream );
}
#endif
doEndGame( server, quitter );
2003-11-01 06:35:29 +01:00
#ifndef XWFEATURE_STANDALONE_ONLY
} else {
XWStreamCtxt* stream;
stream = messageStreamWithHeader( server, SERVER_DEVICE,
XWPROTO_CLIENT_REQ_END_GAME );
putQuitter( server, stream, quitter );
2003-11-01 06:35:29 +01:00
stream_destroy( stream );
/* Do I want to change the state I'm in? I don't think so.... */
#endif
}
} /* endGameInternal */
void
server_endGame( ServerCtxt* server )
{
XW_State gameState = server->nv.gameState;
if ( gameState < XWSTATE_GAMEOVER && gameState >= XWSTATE_INTURN ) {
endGameInternal( server, END_REASON_USER_REQUEST, server->nv.currentTurn );
2003-11-01 06:35:29 +01:00
}
} /* server_endGame */
/* If game is about to end because one player's out of tiles, we don't want to
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
* keep trying to move. Note that in duplicate mode if ANY player has tiles
* the answer's yes. */
static XP_Bool
tileCountsOk( const ServerCtxt* server )
{
XP_Bool maybeOver = 0 == pool_getNTilesLeft( server->pool );
if ( maybeOver ) {
ModelCtxt* model = server->vol.model;
XP_U16 nPlayers = server->vol.gi->nPlayers;
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
XP_Bool inDupMode = inDuplicateMode( server );
XP_Bool zeroFound = inDupMode;
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
for ( XP_U16 player = 0; player < nPlayers; ++player ) {
XP_U16 count = model_getNumTilesTotal( model, player );
if ( inDupMode && count > 0 ) {
zeroFound = XP_FALSE;
break;
} else if ( !inDupMode && count == 0 ) {
zeroFound = XP_TRUE;
break;
}
}
maybeOver = zeroFound;
}
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
XP_Bool result = !maybeOver;
// LOG_RETURNF( "%d", result );
return result;
} /* tileCountsOk */
2008-01-19 17:04:48 +01:00
static void
setTurn( ServerCtxt* server, XP_S16 turn )
{
XP_ASSERT( -1 == turn
|| (!amServer(server) || (0 == server->nv.pendingRegistrations)));
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
XP_Bool inDupMode = inDuplicateMode( server );
if ( inDupMode || server->nv.currentTurn != turn || 1 == server->vol.gi->nPlayers ) {
if ( DUP_PLAYER == turn && inDupMode ) {
turn = dupe_nextTurn( server );
} else if ( PICK_CUR == turn ) {
XP_ASSERT( !inDupMode );
turn = model_getNextTurn( server->vol.model );
} else if ( 0 <= turn && !inDupMode ) {
XP_ASSERT( turn == model_getNextTurn( server->vol.model ) );
}
server->nv.currentTurn = turn;
server->nv.lastMoveTime = dutil_getCurSeconds( server->vol.dutil );
2008-01-19 17:04:48 +01:00
callTurnChangeListener( server );
}
}
2005-03-20 20:43:00 +01:00
#ifndef XWFEATURE_STANDALONE_ONLY
2003-11-01 06:35:29 +01:00
static void
tellMoveWasLegal( ServerCtxt* server )
{
XWStreamCtxt* stream =
messageStreamWithHeader( server, server->lastMoveSource,
XWPROTO_MOVE_CONFIRM );
2003-11-01 06:35:29 +01:00
stream_destroy( stream );
SETSTATE( server, XWSTATE_INTURN );
2003-11-01 06:35:29 +01:00
} /* tellMoveWasLegal */
static XP_Bool
handleIllegalWord( ServerCtxt* server, XWStreamCtxt* incoming )
2003-11-01 06:35:29 +01:00
{
BadWordInfo bwi;
(void)stream_getBits( incoming, PLAYERNUM_NBITS );
bwiFromStream( MPPARM(server->mpool) incoming, &bwi );
2003-11-01 06:35:29 +01:00
badWordMoveUndoAndTellUser( server, &bwi );
freeBWI( MPPARM(server->mpool) &bwi );
SETSTATE( server, XWSTATE_INTURN );
2003-11-01 06:35:29 +01:00
return XP_TRUE;
} /* handleIllegalWord */
static XP_Bool
handleMoveOk( ServerCtxt* server, XWStreamCtxt* XP_UNUSED(incoming) )
2003-11-01 06:35:29 +01:00
{
XP_Bool accepted = XP_TRUE;
XP_ASSERT( server->vol.gi->serverRole == SERVER_ISCLIENT );
XP_ASSERT( server->nv.gameState == XWSTATE_MOVE_CONFIRM_WAIT );
SETSTATE( server, XWSTATE_INTURN );
nextTurn( server, PICK_CUR );
2003-11-01 06:35:29 +01:00
return accepted;
} /* handleMoveOk */
static void
sendUndoTo( ServerCtxt* server, XP_U16 devIndex, XP_U16 nUndone,
XP_U16 lastUndone, XP_U32 newHash )
2003-11-01 06:35:29 +01:00
{
XWStreamCtxt* stream;
CurGameInfo* gi = server->vol.gi;
XW_Proto code = gi->serverRole == SERVER_ISCLIENT?
XWPROTO_UNDO_INFO_CLIENT : XWPROTO_UNDO_INFO_SERVER;
stream = messageStreamWithHeader( server, devIndex, code );
stream_putU16( stream, nUndone );
stream_putU16( stream, lastUndone );
stream_putU32( stream, newHash );
2003-11-01 06:35:29 +01:00
stream_destroy( stream );
} /* sendUndoTo */
static void
sendUndoToClientsExcept( ServerCtxt* server, XP_U16 skip, XP_U16 nUndone,
XP_U16 lastUndone, XP_U32 newHash )
2003-11-01 06:35:29 +01:00
{
XP_U16 devIndex;
for ( devIndex = 1; devIndex < server->nv.nDevices; ++devIndex ) {
if ( devIndex != skip ) {
sendUndoTo( server, devIndex, nUndone, lastUndone, newHash );
2003-11-01 06:35:29 +01:00
}
}
} /* sendUndoToClientsExcept */
static XP_Bool
reflectUndos( ServerCtxt* server, XWStreamCtxt* stream, XW_Proto code )
{
LOG_FUNC();
XP_U16 nUndone;
XP_S16 lastUndone;
2003-11-01 06:35:29 +01:00
XP_U16 turn;
ModelCtxt* model = server->vol.model;
XP_Bool success = XP_TRUE;
nUndone = stream_getU16( stream );
lastUndone = stream_getU16( stream );
XP_U32 newHash = 0;
if ( 0 < stream_getSize( stream ) ) {
newHash = stream_getU32( stream );
}
XP_ASSERT( 0 == stream_getSize( stream ) );
if ( 0 == newHash ) {
success = model_undoLatestMoves( model, server->pool, nUndone, &turn,
&lastUndone );
XP_ASSERT( turn == model_getNextTurn( model ) );
} else {
success = model_popToHash( model, newHash, server->pool );
turn = model_getNextTurn( model );
}
2003-11-01 06:35:29 +01:00
if ( success ) {
XP_LOGFF( "popped down to %X", model_getHash( model ) );
2012-07-12 15:48:09 +02:00
sortTilesIf( server, turn );
2003-11-01 06:35:29 +01:00
if ( code == XWPROTO_UNDO_INFO_CLIENT ) { /* need to inform */
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
XP_U16 sourceClientIndex = getIndexForStream( server, stream );
2008-05-31 05:26:16 +02:00
2003-11-01 06:35:29 +01:00
sendUndoToClientsExcept( server, sourceClientIndex, nUndone,
lastUndone, newHash );
2003-11-01 06:35:29 +01:00
}
util_informUndo( server->vol.util );
2003-11-01 06:35:29 +01:00
nextTurn( server, turn );
} else {
XP_LOGFF( "unable to pop to hash %X; dropping", newHash );
// XP_ASSERT(0);
success = XP_TRUE; /* Otherwise we'll stall */
2003-11-01 06:35:29 +01:00
}
LOG_RETURNF( "%s", boolToStr(success) );
2003-11-01 06:35:29 +01:00
return success;
} /* reflectUndos */
#endif
XP_Bool
server_handleUndo( ServerCtxt* server, XP_U16 limit )
2003-11-01 06:35:29 +01:00
{
LOG_FUNC();
2003-11-01 06:35:29 +01:00
XP_Bool result = XP_FALSE;
2008-05-31 05:26:16 +02:00
XP_U16 lastTurnUndone = 0; /* quiet compiler good */
2003-11-01 06:35:29 +01:00
XP_U16 nUndone = 0;
ModelCtxt* model;
CurGameInfo* gi;
XP_U16 lastUndone = 0xFFFF;
model = server->vol.model;
gi = server->vol.gi;
XP_ASSERT( !!model );
/* Undo until we find we've just undone a non-robot move. The point is
not to stop with a robot about to act (since that's a bit pointless.)
The exception is that if the first move was a robot move we'll stop
there, and it will immediately move again. */
for ( ; ; ) {
2008-05-31 05:26:16 +02:00
XP_S16 moveNum = -1; /* don't need it checked */
2003-11-01 06:35:29 +01:00
if ( !model_undoLatestMoves( model, server->pool, 1, &lastTurnUndone,
&moveNum ) ) {
break;
}
++nUndone;
XP_ASSERT( moveNum >= 0 );
lastUndone = moveNum;
if ( !LP_IS_ROBOT(&gi->players[lastTurnUndone]) ) {
2003-11-01 06:35:29 +01:00
break;
} else if ( 0 != limit && nUndone >= limit ) {
break;
2003-11-01 06:35:29 +01:00
}
}
result = nUndone > 0 ;
if ( result ) {
XP_U32 newHash = model_getHash( model );
2003-11-01 06:35:29 +01:00
#ifndef XWFEATURE_STANDALONE_ONLY
XP_ASSERT( lastUndone != 0xFFFF );
XP_LOGFF( "popped to hash %X", newHash );
2003-11-01 06:35:29 +01:00
if ( server->vol.gi->serverRole == SERVER_ISCLIENT ) {
sendUndoTo( server, SERVER_DEVICE, nUndone, lastUndone, newHash );
2003-11-01 06:35:29 +01:00
} else {
sendUndoToClientsExcept( server, SERVER_DEVICE, nUndone,
lastUndone, newHash );
2003-11-01 06:35:29 +01:00
}
#endif
2012-07-12 15:48:09 +02:00
sortTilesIf( server, lastTurnUndone );
2003-11-01 06:35:29 +01:00
nextTurn( server, lastTurnUndone );
2004-05-15 18:05:14 +02:00
} else {
/* I'm a bit nervous about this. Is this the ONLY thing that cause
nUndone to come back 0? */
util_userError( server->vol.util, ERR_CANT_UNDO_TILEASSIGN );
2003-11-01 06:35:29 +01:00
}
LOG_RETURNF( "%s", boolToStr(result) );
2003-11-01 06:35:29 +01:00
return result;
} /* server_handleUndo */
#ifndef XWFEATURE_STANDALONE_ONLY
static void
writeProto( const ServerCtxt* server, XWStreamCtxt* stream, XW_Proto proto )
{
#ifdef STREAM_VERS_BIGBOARD
XP_ASSERT( server->nv.streamVersion > 0 );
if ( STREAM_SAVE_PREVWORDS < server->nv.streamVersion ) {
stream_putBits( stream, XWPROTO_NBITS, XWPROTO_NEW_PROTO );
stream_putBits( stream, 8, server->nv.streamVersion );
}
stream_setVersion( stream, server->nv.streamVersion );
#else
XP_USE(server);
#endif
stream_putBits( stream, XWPROTO_NBITS, proto );
}
static XW_Proto
readProto( ServerCtxt* server, XWStreamCtxt* stream )
{
XW_Proto proto = (XW_Proto)stream_getBits( stream, XWPROTO_NBITS );
XP_U8 version = STREAM_SAVE_PREVWORDS; /* version prior to fmt change */
#ifdef STREAM_VERS_BIGBOARD
if ( XWPROTO_NEW_PROTO == proto ) {
version = stream_getBits( stream, 8 );
proto = (XW_Proto)stream_getBits( stream, XWPROTO_NBITS );
}
server->nv.streamVersion = version;
#else
XP_USE(server);
#endif
stream_setVersion( stream, version );
return proto;
}
2003-11-01 06:35:29 +01:00
XP_Bool
server_receiveMessage( ServerCtxt* server, XWStreamCtxt* incoming )
2003-11-01 06:35:29 +01:00
{
XP_Bool accepted = XP_FALSE;
XP_Bool isServer = amServer( server );
const XW_Proto code = readProto( server, incoming );
XP_LOGFF( "(code=%s)", codeToStr(code) );
2003-11-01 06:35:29 +01:00
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
switch ( code ) {
case XWPROTO_DEVICE_REGISTRATION:
accepted = isServer;
2013-12-21 02:37:06 +01:00
if ( accepted ) {
2003-11-01 06:35:29 +01:00
/* This message is special: doesn't have the header that's possible
once the game's in progress and communication's been
established. */
2013-12-21 02:37:06 +01:00
XP_LOGF( "%s: somebody's registering!!!", __func__ );
accepted = handleRegistrationMsg( server, incoming );
} else {
XP_LOGFF( "WTF: I'm not a server!!" );
2013-12-21 02:37:06 +01:00
}
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
break;
case XWPROTO_CLIENT_SETUP:
accepted = !isServer;
2013-12-21 02:37:06 +01:00
if ( accepted ) {
XP_STATUSF( "client got XWPROTO_CLIENT_SETUP" );
accepted = client_readInitialMessage( server, incoming );
}
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
break;
#ifdef XWFEATURE_CHAT
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
case XWPROTO_CHAT:
accepted = receiveChat( server, incoming );
break;
#endif
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
case XWPROTO_MOVEMADE_INFO_CLIENT: /* client is reporting a move */
if ( XWSTATE_INTURN == server->nv.gameState ) {
accepted = reflectMoveAndInform( server, incoming );
} else {
XP_LOGFF( "bad state: %s; dropping", getStateStr( server->nv.gameState ) );
accepted = XP_TRUE;
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
}
break;
2003-11-01 06:35:29 +01:00
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
case XWPROTO_MOVEMADE_INFO_SERVER: /* server telling me about a move */
if ( isServer ) {
XP_LOGF( "%s(): %s received by server!", __func__, codeToStr(code) );
accepted = XP_FALSE;
} else {
accepted = reflectMove( server, incoming );
}
if ( accepted ) {
nextTurn( server, PICK_NEXT );
} else {
accepted = XP_TRUE; /* don't stall.... */
XP_LOGFF( "dropping move: state=%s", getStateStr(server->nv.gameState ) );
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
}
break;
2003-11-01 06:35:29 +01:00
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
case XWPROTO_UNDO_INFO_CLIENT:
case XWPROTO_UNDO_INFO_SERVER:
accepted = reflectUndos( server, incoming, code );
/* nextTurn is called by reflectUndos */
break;
2003-11-01 06:35:29 +01:00
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
case XWPROTO_BADWORD_INFO:
accepted = handleIllegalWord( server, incoming );
if ( accepted && server->nv.gameState != XWSTATE_GAMEOVER ) {
nextTurn( server, PICK_CUR );
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
}
break;
2003-11-01 06:35:29 +01:00
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
case XWPROTO_MOVE_CONFIRM:
accepted = handleMoveOk( server, incoming );
break;
2003-11-01 06:35:29 +01:00
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
case XWPROTO_CLIENT_REQ_END_GAME: {
XP_S8 quitter;
getQuitter( server, incoming, &quitter );
endGameInternal( server, END_REASON_USER_REQUEST, quitter );
accepted = XP_TRUE;
2003-11-01 06:35:29 +01:00
}
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
break;
case XWPROTO_END_GAME: {
XP_S8 quitter;
getQuitter( server, incoming, &quitter );
doEndGame( server, quitter );
accepted = XP_TRUE;
}
break;
case XWPROTO_DUPE_STUFF:
2020-03-29 00:25:30 +01:00
accepted = dupe_handleStuff( server, incoming );
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
break;
default:
XP_WARNF( "%s: Unknown code on incoming message: %d\n",
__func__, code );
XP_ASSERT( 0 );
break;
} /* switch */
2003-11-01 06:35:29 +01:00
XP_ASSERT( isServer == amServer( server ) ); /* caching value is ok? */
stream_close( incoming );
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
XP_LOGFF( "=> %d (code=%s)", accepted, codeToStr(code) );
// XP_ASSERT( accepted ); /* do not commit!!! */
2003-11-01 06:35:29 +01:00
return accepted;
} /* server_receiveMessage */
#endif
void
server_formatDictCounts( ServerCtxt* server, XWStreamCtxt* stream,
XP_U16 nCols, XP_Bool allFaces )
2003-11-01 06:35:29 +01:00
{
DictionaryCtxt* dict;
Tile tile;
XP_U16 nChars, nPrinted;
XP_UCHAR buf[48];
const XP_UCHAR* fmt = dutil_getUserString( server->vol.dutil,
STRS_VALUES_HEADER );
const XP_UCHAR* langName;
2003-11-01 06:35:29 +01:00
XP_ASSERT( !!server->vol.model );
dict = model_getDictionary( server->vol.model );
langName = dict_getLangName( dict );
XP_SNPRINTF( buf, sizeof(buf), fmt, langName );
stream_catString( stream, buf );
2003-11-01 06:35:29 +01:00
nChars = dict_numTileFaces( dict );
for ( tile = 0, nPrinted = 0; ; ) {
XP_UCHAR buf[128];
2003-11-01 06:35:29 +01:00
XP_U16 count, value;
count = dict_numTiles( dict, tile );
if ( count > 0 ) {
const XP_UCHAR* face = NULL;
XP_UCHAR faces[48] = {0};
XP_U16 len = 0;
do {
face = dict_getNextTileString( dict, tile, face );
if ( !face ) {
break;
}
const XP_UCHAR* fmt = len == 0? "%s" : ",%s";
len += XP_SNPRINTF( faces + len, sizeof(faces) - len, fmt, face );
} while ( allFaces );
value = dict_getTileValue( dict, tile );
XP_SNPRINTF( buf, sizeof(buf), (XP_UCHAR*)"%s: %d/%d",
faces, count, value );
stream_catString( stream, buf );
}
2003-11-01 06:35:29 +01:00
if ( ++tile >= nChars ) {
break;
} else if ( count > 0 ) {
if ( ++nPrinted % nCols == 0 ) {
stream_catString( stream, XP_CR );
} else {
stream_catString( stream, (void*)" " );
}
2003-11-01 06:35:29 +01:00
}
}
} /* server_formatDictCounts */
/* Print the faces of all tiles left in the pool, including those currently in
* trays !unless! player is >= 0, in which case his tiles get removed from the
* pool. The idea is to show him what tiles are left in play.
*/
void
server_formatRemainingTiles( ServerCtxt* server, XWStreamCtxt* stream,
XP_S16 player )
{
PoolContext* pool = server->pool;
2012-07-09 15:15:02 +02:00
if ( !!pool ) {
XP_UCHAR buf[128];
DictionaryCtxt* dict = model_getDictionary( server->vol.model );
2012-07-09 15:15:02 +02:00
Tile tile;
XP_U16 nChars = dict_numTileFaces( dict );
XP_U16 offset;
2012-07-09 15:15:02 +02:00
XP_U16 counts[MAX_UNIQUE_TILES+1]; /* 1 for the blank */
XP_U16 nLeft = pool_getNTilesLeft( pool );
XP_UCHAR cntsBuf[512];
2012-07-09 15:15:02 +02:00
XP_ASSERT( !!server->vol.model );
const XP_UCHAR* fmt = dutil_getUserQuantityString( server->vol.dutil,
STRD_REMAINS_HEADER,
nLeft );
XP_SNPRINTF( buf, sizeof(buf), fmt, nLeft );
stream_catString( stream, buf );
stream_catString( stream, "\n\n" );
XP_MEMSET( counts, 0, sizeof(counts) );
model_countAllTrayTiles( server->vol.model, counts, player );
for ( cntsBuf[0] = '\0', offset = 0, tile = 0;
offset < sizeof(cntsBuf); ) {
2012-07-09 15:15:02 +02:00
XP_U16 count = pool_getNTilesLeftFor( pool, tile ) + counts[tile];
XP_Bool hasCount = count > 0;
nLeft += counts[tile];
2012-07-09 15:15:02 +02:00
if ( hasCount ) {
const XP_UCHAR* face = dict_getTileString( dict, tile );
2012-07-09 15:15:02 +02:00
for ( ; ; ) {
offset += XP_SNPRINTF( &cntsBuf[offset],
sizeof(cntsBuf) - offset, "%s",
face );
2012-07-09 15:15:02 +02:00
if ( --count == 0 ) {
break;
}
offset += XP_SNPRINTF( &cntsBuf[offset],
sizeof(cntsBuf) - offset, "." );
}
}
2012-07-09 15:15:02 +02:00
if ( ++tile >= nChars ) {
break;
} else if ( hasCount ) {
offset += XP_SNPRINTF( &cntsBuf[offset],
sizeof(cntsBuf) - offset, " " );
2012-07-09 15:15:02 +02:00
}
XP_ASSERT( offset < sizeof(cntsBuf) );
}
fmt = dutil_getUserQuantityString( server->vol.dutil, STRD_REMAINS_EXPL,
nLeft );
XP_SNPRINTF( buf, sizeof(buf), fmt, nLeft );
stream_catString( stream, buf );
stream_catString( stream, cntsBuf );
}
} /* server_formatRemainingTiles */
2003-11-01 06:35:29 +01:00
#ifdef XWFEATURE_BONUSALL
XP_U16
server_figureFinishBonus( const ServerCtxt* server, XP_U16 turn )
{
XP_U16 result = 0;
if ( 0 == pool_getNTilesLeft( server->pool ) ) {
XP_U16 nOthers = server->vol.gi->nPlayers - 1;
if ( 0 < nOthers ) {
Tile tile;
const DictionaryCtxt* dict = model_getDictionary( server->vol.model );
XP_U16 counts[dict_numTileFaces( dict )];
XP_MEMSET( counts, 0, sizeof(counts) );
model_countAllTrayTiles( server->vol.model, counts, turn );
for ( tile = 0; tile < VSIZE(counts); ++tile ) {
XP_U16 count = counts[tile];
if ( 0 < count ) {
result += count * dict_getTileValue( dict, tile );
}
}
/* Check this... */
result += result / nOthers;
}
}
// LOG_RETURNF( "%d", result );
return result;
}
#endif
2003-11-01 06:35:29 +01:00
#define IMPOSSIBLY_LOW_SCORE -1000
#if 0
static void
printPlayer( const ServerCtxt* server, XWStreamCtxt* stream, XP_U16 index,
const XP_UCHAR* placeBuf, ScoresArray* scores,
ScoresArray* tilePenalties, XP_U16 place )
{
XP_UCHAR buf[128];
CurGameInfo* gi = server->vol.gi;
ModelCtxt* model = server->vol.model;
XP_Bool firstDone = model_getNumTilesTotal( model, index ) == 0;
XP_UCHAR tmpbuf[48];
XP_U16 addSubKey = firstDone? STRD_REMAINING_TILES_ADD : STRD_UNUSED_TILES_SUB;
const XP_UCHAR* addSubString = util_getUserString( server->vol.util, addSubKey );
XP_UCHAR* timeStr = (XP_UCHAR*)"";
XP_UCHAR timeBuf[16];
if ( gi->timerEnabled ) {
XP_U16 penalty = player_timePenalty( gi, index );
if ( penalty > 0 ) {
XP_SNPRINTF( timeBuf, sizeof(timeBuf),
util_getUserString( server->vol.util,
STRD_TIME_PENALTY_SUB ),
penalty ); /* positive for formatting */
timeStr = timeBuf;
}
}
XP_SNPRINTF( tmpbuf, sizeof(tmpbuf), addSubString,
firstDone?
tilePenalties->arr[index]:
-tilePenalties->arr[index] );
XP_SNPRINTF( buf, sizeof(buf),
(XP_UCHAR*)"[%s] %s: %d" XP_CR " (%d %s%s)",
placeBuf, emptyStringIfNull(gi->players[index].name),
scores->arr[index], model_getPlayerScore( model, index ),
tmpbuf, timeStr );
if ( 0 < place ) {
stream_catString( stream, XP_CR );
}
stream_catString( stream, buf );
} /* printPlayer */
#endif
2003-11-01 06:35:29 +01:00
void
server_writeFinalScores( ServerCtxt* server, XWStreamCtxt* stream )
{
ScoresArray scores;
ScoresArray tilePenalties;
XP_U16 place;
XP_S16 quitter = server->nv.quitter;
XP_Bool quitterDone = XP_FALSE;
2003-11-01 06:35:29 +01:00
ModelCtxt* model = server->vol.model;
const XP_UCHAR* addString = dutil_getUserString( server->vol.dutil,
STRD_REMAINING_TILES_ADD );
const XP_UCHAR* subString = dutil_getUserString( server->vol.dutil,
STRD_UNUSED_TILES_SUB );
2003-11-01 06:35:29 +01:00
XP_UCHAR* timeStr;
CurGameInfo* gi = server->vol.gi;
const XP_U16 nPlayers = gi->nPlayers;
2003-11-01 06:35:29 +01:00
XP_ASSERT( server->nv.gameState == XWSTATE_GAMEOVER );
model_figureFinalScores( model, &scores, &tilePenalties );
2003-11-01 06:35:29 +01:00
XP_S16 winningScore = IMPOSSIBLY_LOW_SCORE;
for ( place = 1; !quitterDone; ++place ) {
XP_UCHAR timeBuf[16];
XP_UCHAR buf[128];
XP_S16 thisScore = IMPOSSIBLY_LOW_SCORE;
XP_S16 thisIndex = -1;
XP_U16 ii, placeKey = 0;
2003-11-01 06:35:29 +01:00
XP_Bool firstDone;
/* Find the next player we should print */
for ( ii = 0; ii < nPlayers; ++ii ) {
if ( quitter != ii && scores.arr[ii] > thisScore ) {
thisIndex = ii;
thisScore = scores.arr[ii];
2003-11-01 06:35:29 +01:00
}
}
/* save top score overall to test for winner, including tie case */
if ( 1 == place ) {
winningScore = thisScore;
}
if ( thisIndex == -1 ) {
if ( quitter >= 0 ) {
XP_ASSERT( !quitterDone );
thisIndex = quitter;
quitterDone = XP_TRUE;
placeKey = STRSD_RESIGNED;
} else {
break; /* we're done */
}
} else if ( thisScore == winningScore ) {
placeKey = STRSD_WINNER;
}
2003-11-01 06:35:29 +01:00
timeStr = (XP_UCHAR*)"";
if ( gi->timerEnabled ) {
XP_U16 penalty = player_timePenalty( gi, thisIndex );
2003-11-01 06:35:29 +01:00
if ( penalty > 0 ) {
XP_SNPRINTF( timeBuf, sizeof(timeBuf),
dutil_getUserString( server->vol.dutil,
STRD_TIME_PENALTY_SUB ),
2003-11-01 06:35:29 +01:00
penalty ); /* positive for formatting */
timeStr = timeBuf;
}
}
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
XP_UCHAR tmpbuf[48] = {0};
if ( !inDuplicateMode( server ) ) {
firstDone = model_getNumTilesTotal( model, thisIndex) == 0;
XP_SNPRINTF( tmpbuf, sizeof(tmpbuf),
(firstDone? addString:subString),
firstDone?
tilePenalties.arr[thisIndex]:
-tilePenalties.arr[thisIndex] );
}
2003-11-01 06:35:29 +01:00
const XP_UCHAR* name = emptyStringIfNull(gi->players[thisIndex].name);
if ( 0 == placeKey ) {
const XP_UCHAR* fmt = dutil_getUserString( server->vol.dutil,
STRDSD_PLACER );
XP_SNPRINTF( buf, sizeof(buf), fmt, place,
name, scores.arr[thisIndex] );
} else {
const XP_UCHAR* fmt = dutil_getUserString( server->vol.dutil,
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
placeKey );
XP_SNPRINTF( buf, sizeof(buf), fmt, name,
scores.arr[thisIndex] );
}
Squashed commit of the following: commit 6ed0462040d6fd45bf43c431df5db4702630da4e Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:55:29 2020 -0800 script meant to be run in UserLAnd on android commit 07b603f4abde00f1cb4face7f27d996fed1b0258 Author: Eric House <eehouse@eehouse.org> Date: Thu Jan 30 15:01:00 2020 -0800 fix gtk invite scenario required --name param, apparently. commit 13201c4cedbf6564516ae850956b2f3155def0b1 Merge: a301491fb 752e3ff3e Author: Eric House <xwords@eehouse.org> Date: Thu Jan 30 12:38:09 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a301491fb5d7b2e09f4b932b16c0a82d1429cb64 Merge: 5401a4bbe d6cf1d2f9 Author: Eric House <xwords@eehouse.org> Date: Sat Jan 11 20:45:26 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit 5401a4bbe54cdad6adbfa8f9ba8a1c0112ff4dbe Merge: a92275173 9406297c0 Author: Eric House <xwords@eehouse.org> Date: Fri Jan 10 09:54:30 2020 -0800 Merge branch 'android_branch' into duplicate_mode commit a922751730be87ae1ea7f6b2ee4263e8b14faabf Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:39:51 2019 -0800 move game list item pending counter below "dup" commit 53ca75a56ba9ecde917a5c8c91deaf0afdb04ea0 Merge: 658e4ef92 15239d4a6 Author: Eric House <xwords@eehouse.org> Date: Sun Dec 29 16:34:07 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 658e4ef92277d0a1b5c7840883edfab55251d99f Author: Eric House <xwords@eehouse.org> Date: Tue Dec 10 20:33:24 2019 -0800 move BT UUID into build.gradle And add a new UUID for the duplicate build so it doesn't try to talk to the xw4d variant when both are installed. commit a3141c86204bcc134a6fea1e8e6d1cedc743ee13 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:52:11 2019 -0800 modify icon for easier identification commit db23f45ac075e8bc50c56b7fb9808a7e270f5625 Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:38:18 2019 -0800 change name of key I want to force the apps already out there to generate a correct key. This has the lowest impact. commit 91bc3f6ac406b2fda3426bb363c8e59c3973b75f Author: Eric House <xwords@eehouse.org> Date: Thu Nov 21 18:25:08 2019 -0800 use the right generated file Duh. Used the wrong app/project so FCM couldn't work for the new Dup app variant. Now it does. commit d4ef6f12681bae4437e907e47fbdf1b35bf10d98 Author: Eric House <xwords@eehouse.org> Date: Mon Nov 18 09:26:46 2019 -0800 add comms_getPending(), and refactor to implement commit 60870e43373a8b73f3541529031791e1457aaa15 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:07 2019 -0800 first cut at python version of dawg2dict Perl version doesn't work and I don't remember enough of the language to fix it. commit b9547d1ec49f1d9d95b3b76b2bcc6ef0d088c531 Author: Eric House <eehouse@eehouse.org> Date: Wed Nov 13 12:30:57 2019 -0800 fix comment commit 442d219aeab0acfd3713e065f3c46cf0b5d40012 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 12 09:08:08 2019 -0800 check for undefined variable commit 247415e18d0b764d3cdb52e9eedeac4b183428c5 Merge: 94c2a7e15 bd3b3e75e Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 19 20:12:18 2019 -0800 Merge branch 'duplicate_mode' of ssh://maidu2/home/eehouse/src/git/repos/xwords into duplicate_mode commit 94c2a7e151eeb81bb29589db120a08ffdb5e78fb Merge: 514e33900 a161abc1b Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 21:13:23 2019 -0800 Merge remote-tracking branch 'tmp-eeh/duplicate_mode' into duplicate_mode commit a161abc1b2c1c0e8ce76ac71e9feed9d567a3a73 Author: Eric House <xwords@eehouse.org> Date: Tue Nov 5 15:56:26 2019 -0800 make a new CrossDup variant It's too much trouble having versions of CrossDbg that aren't compatible. commit 514e33900fad2695dac89371995ea197a3c9fa4b Merge: 2d5ec2dfc c69ec5250 Author: Eric House <eehouse@eehouse.org> Date: Tue Nov 5 08:43:52 2019 -0800 Merge branch 'android_branch' into duplicate_mode commit 2d5ec2dfcdf2788baee2fadd69c8cbb7ac3cafd8 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 12:34:48 2019 +0000 log some hashing stuff (to share while debugging) commit 564165ed2aef2cd2e893a1552dfb94ca61734f0d Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:23:40 2019 +0000 remove unnecessary logging commit 0111db1951e40ff039cd276d1a77dc31d380ce32 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 11:22:27 2019 +0000 fix log_hex format alignment commit c7e92680c2624c2d45bade42fddb3334348ce8fc Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 10:23:17 2019 +0000 toward making non-dupe stack hashes match Changing the format meant that old builds and new couldn't play non-dupe games together, which clearly sucks. There's still a problem, but this is part of the fix. commit fb185eca355840423b561e3237a6529ade409850 Merge: a6df962b1 37ac29e65 Author: Eric House <eehouse@eehouse.org> Date: Sun Nov 3 09:43:57 2019 +0000 Merge branch 'android_branch' into duplicate_mode commit a6df962b1046ff191453a617afbeee272ce3dc66 Author: Eric House <eehouse@eehouse.org> Date: Thu Oct 24 21:28:35 2019 +0200 cleanup (not dup-specific) commit f8e31d20ae5399db98589540fff432dc053ec633 Author: Eric House <eehouse@eehouse.org> Date: Tue Oct 22 13:38:37 2019 +0200 use https now to fix broken updating commit 0add4e050235e9aed5e4f841497c02b80113dbdd Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:39:19 2019 +0300 let cells be taller than wide too (take 2) commit 897d4453702a4c820fb99e60ca0be1bca44d0f42 Author: Eric House <eehouse@eehouse.org> Date: Tue Sep 10 16:30:14 2019 +0300 cleanup (not dup-specific) commit 2973ffb908fc8a966082870dae348cdc74e646c7 Author: Eric House <eehouse@eehouse.org> Date: Thu Aug 29 23:08:36 2019 +0300 assert that valid message is handled I suspect that messages are being dropped (in server) after being recorded (in comms), causing the game to stall forever. So add an assertion that it's not happening. Haven't seen it yet in a few hundred games, but it'll be nice to be more confident. commit ae6aca71245c934ffe1cb8ba4dc12a0bcbfd1dda Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:35:12 2019 +0300 remove x86 from release builds I either remove it or add the 64-bit abi. Since it's only there to run in the emulator let's just leave it in for DEBUG builds. If I need to run a release build in the emulator I can add it back. commit 4d96f05f2ffea6ca3e9b7dd1776c81fbc0a1350b Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:14:01 2019 +0300 arm means two ABIs now commit f00e8c1258ed62fcf74c7f4db856fb8366d3f348 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 18:13:40 2019 +0300 fix release build warnings commit 86a7de8c493eb57012531e4953bfde8de38bbb97 Author: Eric House <eehouse@eehouse.org> Date: Mon Aug 26 08:23:52 2019 +0300 up API version to 28 (required soon) commit 3382823b254cd7f2861362a895a7db483e253781 Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit f0c0663b85bdcb6f36f50464a06ab5fb6041e738 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 280838b680d10f0e5d280257e21c2eab66dbcec9 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit de004c956f2804264320adf4e197ed7274092f44 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 17434fcb0c35f5e9489a6b01fd40e4908d4547e6 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 5b20ba2f8c4d17118a709cdec556ea38b3f4199d Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit e98d4154224e2013389962d22476bc571d721aa5 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit fd94a0f0d23b4658c93bfb7793e658387bcbbcce Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit dfb6d2c2574fa63d416c7c800e7dbe30b0925143 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit d4a37e5a03e874a4d1e43e72183eb73a8c0f70f5 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit a19979ae7f71da4ba8d478c9a5a5ec4bc70b4c96 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 7c52ce2a6a08db3b4e2a1bc32f71b073227f23ce Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 9f82c2f2a3d710f6ad52b1b4f570625e2c19e277 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit dee10cf35521018805621e3e2b4b58f2c2dee686 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit b1e55307ccd8a849afddc27f9214eea738eb25d7 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 289080dcfa19e36ea0aa6bd204b61f81872f2b38 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 0d427df8f45cc97e385886058b0b456a4e4ca495 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit 6ef72472426c61573249e17a4842247114ecd432 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 429baf6edb41a6821103a499b88406de9eb13673 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit 9a302b137d56966513393abb4ca3169274ad72e3 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit 6c9025e347a1fb97b90778db6563cd22a5aaa2b8 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit dabe79c58c1a6ba1c098688dd2b6b764c543e98b Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 352584858fa106b2094e9a393a9b3959a90511b9 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit a99976713b5f35ee61fc9629fb2df9ac11af9098 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c0b3be342ad9d89b43ba00d77ae91ad09f8ff211 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit 3656f1d938c61ebf9ac780905f1a084cb4b024f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit a977b8fa51a8e8f9a469bc6fbf305364a29ef8ac Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit cb4cdc1c8221dfc94e9c9ef889d5d1b099b44049 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit 997de250c8d8e0a2de0b949258b06b8998bc1086 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit 970fc8c9dbf3883211c1934f3f999149532609a8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit b67b836028216345ef8d6d157bdaf9f59f698df4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit 48cafcec1471e064413ade48ed79b51f1e7fb922 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0476f1b21f3bd30e3ae970dc85a72a7eac67d5d9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 71815b2f17f0ca354eb6dd4dd12f65d309723db1 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit bc4f04c724f51668ace3db17703aa1446fad7405 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 2b271abbb487aa8c5fa7f792d898c72f5d69e270 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 945b8527847af20ca955fb313b7bf49887e4e012 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 6229fb88302d6da8d432a743955f3dc54d871bda Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 7892c42c69d2985b39c9fd50053fad3d5f03ba5a Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit 1fbf78931b57ff4d92381a3b7f7e39770cb96ae0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit 046b2e598ae8368eed6e68b5fbaeba69d0416b96 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit 5c44e3cd2df87be904db6a7689c59be4fcf2696b Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 4476bf10f222af90547e935d7eabd69fff0be427 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit fb50963e4314f85e8013717e4435671cb66b91df Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 4d7fc28b0e0cc4c0e2c877401eb170a4764059f5 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit 5f064b31be8d8dfff0ada1d34acf2792ac6c721d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit 38a271578dda87a025acd28c065a9748d88e7246 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 8e71bfbc011747b7738fd12e437fd73da7a7b01c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 2186d72e04df901b53a6d578c24a945b01245f52 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit a9afebea7493438681e3ebcc366f38542ecf4691 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit 1925ff93cd1019f4daa6c9b86222dbf9f763d876 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit 8fb2678e8e937990ad63569b39c5c12a54a9089b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit d1d72ce840eef5a1f9c0e3118660a9498e790848 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit a8a36e8dfa1f61805932cabf607cf6f01b18a2d3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit 8b2f877f01cf954392841ee3e1eb8b75ce05b646 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 11f680fcce14a0303f50d685dde741b2d57241be Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit 84bced651a5765ce5eacef90d653e1807a5e5a1b Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit 66b39ca29616dd5f7ae948185b6d16f2d207e45b Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit 3f722d974eaa77883f169974bca18e14b89dd829 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 8fd13b8fc5040db0c5b631e5f97a31db08d7d053 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit 6b67c4a59ca42a28d263f22ef334fe0d40fbab80 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit 6779c31f21e26abcbf0364322db1021ad3d82985 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 88770a9dbbe80d2d6364cd8402f4cc2e2f2ec367 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit d157f114b1e1fb91da015bb6238c70c61b58b154 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit 2f7230472f846ca29c791c9799a070415271e940 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 23a11e65e218762408315bbba1ef3d0b0f6808f1 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 250bc52a044b89f8c39f2bf9a29cd0ce58b2d1a5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 9cddab3be0164028a30997b5528bfc3334488dae Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit df50f81db9eace30884613ef4d9ec1c10904f1d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit ccb026b82ebe600a697f36f67ccab250ac49b32c Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit a0967512f60354afd15ef6877f48bcc891a1d6d2 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 947594afb0b1c681743fbe274d58ded302f1414a Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit a433cb230008a6cea8236c56a3d04c97a7702a80 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit a54a015983890338772de5043bb242aa8ebeb202 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit 28c13b678f36c4c4678b1467e68daf3297db0464 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit c807cb91d25a789fd3ce0e739ad864b6e84631e6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 960dacdd5d7882f0b9cca9b5ad3e884bb04b9873 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 8ff5a5b27d319b55730688dc6e4bfd9a7eef59db Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 19677f2bb6a2eabb80d99d55087621f483cd3e07 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit 9a0993ec30cb109c2171f141341f3e926ff801f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit 2fc37b1f94c966669119e9f7b31ce8fa2d2971e0 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit 295579d06a512d0a0012e725f42994e4b78436fa Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit ddb73d9ccf66fd516ff10394cddb8f99956d99d5 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 70918077c13eebc1651a607da326eaba97fc6813 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit de677d7276be4a78e1819920403a93fe8ca36a13 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit 6914822fcb1256afb84933c0937eeecd0d906aa6 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 683fb31f2288b3767d1b8495c9ed71030556b018 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e7816d7587b582311a79e253c55e916f32c84c4d Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 78518d2af7c7787d46025ddee85401bdc75d7be7 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit d4f9bb2be51bd57fe87e1d5157e9e6eb408df528 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit d02a2bf9b27544b8102025f599754d03797addb7 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 4e611150248cb4b1d20281e73e68b0f44a6fca1e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 0685d64f9c7e17735bb651722b99f645aefe8ce8 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit e02436fd7135b7c9fb799f1f8a1c91e0d7abb5ea Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit ef32d09205d126338046f45aec34d44853523a9f Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit f0a03d41602037150c9f9872a7b6a5e1cd44e038 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit c442c92ab18e021743636e09956230fc78eb45fc Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit eff9e3aee484d8c2159b6c59d5fd4a734dc5a77f Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit 47be80c68382dc1ac7c6a648f82e597bd0dde0df Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit ccdb3a9d21d0d0a7de2fd3588dcb64754f747ad0 Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit 959895981505b9a5e58d9212e76bfb7c6f491f34 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit bd520de6f83d7dd718cd5a50fe16d5414ce63654 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit d8196e9fc252d488b2d42527a734ace9926517cd Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 4fa394f342b000d7ee44b42a513ea97f9f2d414e Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit cb920e34ee9e3ab3000c89370d722a6a48abfdf5 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit c3e72140a1966f53b165ff43d8b9e59951e65c94 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit b635c176820916b344657e9146fb28b998adb9f5 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 8bccd4e482fd48307ed22f5d9bc36966667f0084 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 909ce7ed7ab13317cbc51288ed71e97a4571414c Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit 6c5f4847a463a4d2022384677402d83ee1f87d1a Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 4d489591eb6fc6233d413cc906f84fe3e099b701 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit 4c3aaa741bb903c8c1c74c4156ea626c4a0d3986 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit ea7b3495080fafe91722d2ce51299bf49e3119de Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 72d493588d518868955296fd59033fd6dc763268 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 08101b4e468efdd2b4b17f85a1492526993be978 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit d83094bfe750560b868d1915d4375a65120817da Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 8f7a00f1eecba537061fc8e22f3eb44591152cfa Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit b3212792311e69b2253832aedb052b6cc3c86eb9 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 449f6f6ff4402ddc9581822ecbde9bb51120db85 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 0c83965fe8fba7c7aea7407ce6dfb37bc0add39f Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 78edef74a2c19e4d513fea9da0c6ede4cc146b87 Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit ac7c0b0fb543576e2121dbbeaf17bb3a13cb19c6 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit de85dfaa2f484a1a02cd6997a7e732daa28de16b Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit dcb9e8f14d14749f81c63e08eed8418719555fb8 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 67c62d84f1dfe2bc11463316697a0c62d449e429 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d8dcb43dbc396c0f8fdb9a890b958f168137c2ad Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit 97ecc7bd81bac2a0832dfa01df3d7130547a1829 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now. commit bd3b3e75ef6a0bbf4de20cbdc1aaabb9adae2a9c Author: Eric House <xwords@eehouse.org> Date: Sun Jul 21 12:08:33 2019 -0700 wip: add clear 'X' to [un]pause msg editor commit a0999d6af44d126fb450b220b49a743a3c7e439c Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:11:17 2019 -0700 wip: stop using IMPORTANCE_HIGH: too obnoxious commit 3a7fd5758ffdaabf4b867f423db2d5558d1f10c0 Author: Eric House <xwords@eehouse.org> Date: Sat Jul 13 10:10:53 2019 -0700 wip: move misplaced assert commit d769855259daf340446e8c69b8091eec1cbc5d73 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 12:06:10 2019 -0700 wip: store the damned playerNum already And remove mistaken minus-sign (typo?) commit 9622a575863393668ac91a6233e5962ca413c8f8 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 11:47:27 2019 -0700 wip: use rowid for notification id where possible commit 699b76db2683f7ee9c96adb6d00e9ad623275fba Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:53:50 2019 -0700 wip: be smarter about looking for timer changes Add a dutil callback for when timer value changes. In it, pass the new value to DupeModeTimer. In that, don't bother servicing until the saved value matches the stored/expected value (because there's otherwise yet another save coming.) commit 25d3bc0a78557957c1cc4f1c727e581491bc969c Author: Eric House <xwords@eehouse.org> Date: Fri Jul 12 10:48:59 2019 -0700 wip: add unique notification id generator I'm tired of trying to keep rowid-based notifications from trampling each other. Now they can be unique per-channel. commit 5b2f692adaddf1cfe58f073fa4ea4e39f31b7785 Author: Eric House <xwords@eehouse.org> Date: Thu Jul 11 23:55:54 2019 -0700 wip: auto-pause when nobody moves If moves all come in 0 and the timer's running, assume nobody's actually playing and pause the game. While at it added [un]pause to game history and made history entries include malloc()'d message, requiring a free(). Lots of changes, with at least one glitch that games sometimes hang after the autopause; and gameslist shows it as nobody's turn though when opened the game knows it's a player's turn. commit 1db4b1a3221f077cb797cc8e1c9a0468a9bc7f1f Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:40:11 2019 -0700 wip: cleanup/refactor commit 873dbf3e7c46dbe9bf0cd7163788f9c0f35b32ea Author: Eric House <xwords@eehouse.org> Date: Mon Jul 8 20:23:58 2019 -0700 wip: run dupemodetimer more than once Failure to reset a variable meant I never processed more than one timer firing. Oops. commit 0f13c4b95caa23ef19eae9454d034d5a881a7e20 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 20:03:57 2019 -0700 wip: zero timer value when move's been made Used to actually set the timer value to 0 when move was made, and DupeModeTimer expected that. So zero the stored value before returning it IFF move's been made already. commit 83761f9228828fa0ff51bd7595059912e76414bc Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 19:48:29 2019 -0700 wip: add pause button to notification Make it easier to discover pausibility by adding pause button to always-on notification. Implemented by opening the game and then within it the Pause confirm alert, which required passing a boolean Extra through from the launch intent to the one passed into BoardDelegate. commit 6e543978b1ab132b8f95ae756301555f6267b037 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 14:31:43 2019 -0700 wip: fix to redraw timer when only turnDone changes commit b3c79de07e9eeb2bbaed04ff9a46b91fb927fe3f Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 13:36:06 2019 -0700 wip: fix compile commit d293864cff6d20197703ccadaa9f75b91e634004 Author: Eric House <xwords@eehouse.org> Date: Fri Jul 5 11:43:13 2019 -0700 wip: show timer when paused, and dim when turn done commit 9c25d5a79e39fad12054be0be3f3d33a569270a9 Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:01:09 2019 -0700 wip: save separate excuses for pause and unpause commit 9dfc00f4ff462a949ac453680ce160d436da430e Author: Eric House <xwords@eehouse.org> Date: Mon Jul 1 21:00:20 2019 -0700 wip: invoke pause stuff via tap on timer commit e80d443cf9583ab388a5b077dbb37d0ce024e2c1 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 30 20:39:17 2019 -0700 wip: pass name with pause info for better notification commit 511b319643482ef459b793cc37c6fefd585c18c1 Author: Eric House <xwords@eehouse.org> Date: Sat Jun 29 11:50:40 2019 -0700 wip: improve pause/unpause confirm dialog commit e63fc004c830f96ad87d29d26de55f9429a098e1 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:45:17 2019 -0700 wip: pass just the message. Let client package it. commit dc79c7698a3b810bb94c4c6b732aa1e470953887 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:41:24 2019 -0700 wip: trigger notifications etc on pause change commit 6654053dd9640b1c79830cfd2ccff6ee117d8bd6 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:18:13 2019 -0700 wip: missing files commit 9579766643a0b939b0ebccd6b94fc1cace3f1a1a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 21:15:58 2019 -0700 wip: pass explanatory message with [un]pause commit 1b91ad47910e4f4e0e2bba06d72097e4e83013a5 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 15:28:55 2019 -0700 set dbname in build.gradle commit c6c8ace0404f4a39214f294d3a85634d0db2080c Author: Eric House <xwords@eehouse.org> Date: Fri Jun 28 10:00:25 2019 -0700 fix crash on initial install uninitialized variable commit b0bcec10a896532d3439b4045e3406c1f361477b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 13:35:30 2019 -0700 wip: fix too-frequent dupe-game checking Do it all on a a background thread, and never process a game that was added for processing while being processed. Fixes re-opening because we just changed it, but may miss changes that matter. commit 5f327d2eeabd8761691439c77db74f45514a0bf9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 11:10:14 2019 -0700 wip: progress on timers Mostly fixing DupeModeTimer to do less on main thread. commit 847773f19b803626e56e4ee44a5f77ba225a487b Author: Eric House <xwords@eehouse.org> Date: Thu Jun 27 07:14:13 2019 -0700 use macro for callbacks (as elsewhere) commit ff6a7430db4bb01e77b1f32efde801872995d709 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 22:34:34 2019 -0700 wip: transmit [un]pause to other devices commit e8138431307763ffee8c8cba49cc00f6c36b3fa8 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 17:15:55 2019 -0700 wip: more timer tweaks commit 7431f5b4ddb16ff3b646409f8a0c62c43d864810 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 15:01:04 2019 -0700 wip: fix assignment to wrong variable commit fc703b6072d2dd7066e5bc9f6708b5b5d9aa11f9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 14:41:50 2019 -0700 wip: wire up [un]pause menus in Android board commit 0e53fbfcbe5bf8e4a1253e45a12b9b5a5fe1e5ad Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 11:09:19 2019 -0700 wip: pause/unpause without communication commit 571200bebedb7df5f7193996a0db46ba6b05d1b6 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:56:09 2019 -0700 wip: start adding [un]pause support commit dbe25a2a09beae6241cd59b322f29e532094a7ae Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 10:07:24 2019 -0700 wip: fix to work when timer not set commit 6a58736eae4948c4245f7154e9e54a53ab2a39e9 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:53:29 2019 -0700 wip: show tiles face-up in history for dup-mode No point in hiding them when everybody has the same. commit 0b80a9ddfdcefdade0cf882cd4cd5b21ee4a5825 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 26 09:47:19 2019 -0700 wip: don't draw paused (0:00) timer in duplicate mode Required passing in a new boolean commit 1e94137e670bef7ecda614d3b513c6c065245704 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 19:16:40 2019 -0700 wip: adding timers interpret the existing timer value as per-move, counting down to 0. When the timer fires, commit and send moves for all local players. On Android, show notifications for games where a timer's running and nothing's been committed yet. Very rough, and somehow broke the python test script for duplicate games. commit 61b81b820afe4e7c30234d0c6de428fcc41e2a70 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 25 16:40:14 2019 -0700 fix crash closing app when timers enabled commit d456444e33bdcf5b151e250a8afd536f52f0d362 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:23:33 2019 -0700 assert thread is same for map and unmap It'll be a while before I'm comfortable moving this to main branch commit c35de13cbaeb001d743bbfa00f6a95c16eb3a6fc Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 12:15:40 2019 -0700 add refcount on thread->env mapping Just as a safeguard to ensure I'm not removing something I'll want later. There appears to be no attempt at this point to use a stacked protocol -- attempts to add what's already there are just dropped -- so actual refcounting isn't working now. But if I double-remove I want to know. commit a43b811c3343c1b393c707197a59dc3c7c52d7ac Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:32:36 2019 -0700 fix breakage from backport and rebase commit 5dd2cf2a6209a6902ad7697b8831dfb998af42a8 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 24 09:13:17 2019 -0700 add timer to gtk's new-game dialog commit 6fbb0522d65d11752da8170511e78775fc5c16ea Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 20:29:26 2019 -0700 tweak text commit 9a4bf15f39e50eca71b489a771294b06787eba88 Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:56:27 2019 -0700 make all config spinners use same styles One had a label. How all do, and styles make them the same. commit c9bf3b9d66cf4bf57fd8ab2a8311165a22ccfc5d Author: Eric House <eehouse@eehouse.org> Date: Sat Jun 22 08:23:35 2019 -0700 make label-plus-timer-setting single-line commit ab47ad09612da9b5cad6e450ffedb3c51357431a Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 16:32:57 2019 -0700 wip: specify smaller size to avoid wrap on some phones No idea if this will be enough. Or if just saying "one-line" would work better. commit 18f60f13c11c5c87bb1cb89a34430bce4372f937 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 15:08:51 2019 -0700 wip: fix false dup-mode tag in games list The layouts are reused, so it needs to be hidden for the non-dupe case in case it represented a dup-mode game before and the tag was revealed. commit 4c77db51f3ab618375d1b4b709d4ce5492ce7e5f Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 14:50:15 2019 -0700 fix listing of Hex language (not dup-specific) commit df2006279f5203b28fae46f2cae5a99f83e80652 Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 11:48:07 2019 -0700 wip: fix div-by-zero when all games are duplicate commit a13d2c630b0b5a78048663b77051e29855ad012d Author: Eric House <xwords@eehouse.org> Date: Fri Jun 14 10:30:45 2019 -0700 wip: store scores in as many bits as largest requires breaks storage format! commit e1acb19d7de8b9f65f5727cd7b415dc6a05e5a1e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 20:26:50 2019 -0700 wip: reduce scores correctly in dup-mode after undo commit c8783625b72b2469013db4ffbe33ce6f2bc129c0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 18:26:15 2019 -0700 wip: fix tiles not being sorted after undo I'm doing this in the model where there's no setting to prevent sorting. Figure undo's a violent enough change nobody will care. commit 2a5f76e86a357194c46d7f41bf64fd8d9c238b62 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:49:00 2019 -0700 wip: inval tray when copying from DUP player's Fix failure to correctly draw current tray contents after replacement based on winning dup. move. commit d93ae745a011b22dd1970039577537a0b0162103 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 17:13:17 2019 -0700 wip: mark gameslist items with "dup" if in dup mode commit 5ab01db8227f16641f18b2dbe09decc5f1a10476 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 13 10:55:40 2019 -0700 wip: correct move count display in dup-mode case commit bcff165e45eb0d347303b581a882118a0c1efbf8 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 11 15:29:30 2019 -0700 wip: fix crashes using word-lookup Assertions about dup mode and pending plays being legal words were wrong given how commitTurn() was used building a temp model inside model_listWordsThrough(). commit a3eb0723987b6abf36f5bfa9b1536ee13fd12ccc Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 14:43:28 2019 -0700 print average scores at end of run Should really be done separately by number of players, as non-dup games with more players will have lower scores as each has fewer turns. commit f764362e435d644ee1014e22aba7075452c54558 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 9 10:30:26 2019 -0700 wip: notifiy turn change listeners in DUP case Fixes occasional failure to update Exipration display in game list items when a move's made. commit 4cb91d72259d7b3190205cc93974ad1052c8d883 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 22:16:23 2019 -0700 wip: don't cache variable locally For some reason it's not set on K's phone. This is safer: what's always worked, and it's late.... commit d78fee9a43cf0f6019f6a9494edc4a0573f6317d Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 19:07:11 2019 -0700 wip: move status strings into resources commit f943a8ca280da3dce0b843a14fbed307814347e0 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 18:43:56 2019 -0700 wip: add status alerts for dup state transitions So users know what's up, add not-again alerts when server gets moves but can't yet act and when client sends moves. commit 61bc587d656b47b194306ae9c6f10dc6a50878c7 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 13:03:54 2019 -0700 wip: create local copy of inDuplicateMode var commit 5b37bb2cd45ca281f410487d63a328eb80b518d9 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:38:00 2019 -0700 wip: fix misplaced assert commit dddcd5c073f4ee55d2367728381ef400faa6bc0e Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 12:08:39 2019 -0700 wip: fix non-dup-mode scores and enable undo commit 09848e3a85635238df9ebc7b0f2c480c4f2db02a Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 11:16:05 2019 -0700 wip: list all players in a tie commit 9d87087924fec2d0262ecc1ee2d3bb7d82d3c4c2 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:58:40 2019 -0700 wip: better last-move explanations on android and linux. Required passing an array through the JNI which in turn encouraged some refactoring. commit 57b8c65de433cd694d978726257dda07d5918cef Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 10:22:21 2019 -0700 wip: use only one ASSIGN in duplicate mode They're otherwise all the same, and the other types all have playerNum == DUP_PLAYER, so let's be consistent. commit 0d50b662a1290a5e58ee6229e1f9ad41de1eb5f3 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:47:59 2019 -0700 wip: call assertSorted() before scoring the place that was the original problem commit 78fc93e19658eb015ebb546e6bc3190a470bc2e5 Author: Eric House <xwords@eehouse.org> Date: Thu Jun 6 08:43:31 2019 -0700 wip: fix so MoveInfo tiles always in order Display of last-played move didn't work for duplicate case because scoring assumes sorted tiles. So always sort, and assert sorted when writing to and reading from stream. commit 882c7ff9d60a5d5c79c6c35b54d9d84d19912d4e Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:58:44 2019 -0700 wip: script progress shows dup- vs non-dup-mode commit 7b4bf585d4bdc3d77d858289f9c043552a41d027 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:18:19 2019 -0700 wip: allow mix of dup- and non-dup games in test script commit 874b2bafc2b466f2bd2086a239942a350b93f1dd Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:35 2019 -0700 wip: work around misunderstood NPE (not dup-only) commit 185a6d374fc49a955bbea90e086fd1570d023627 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 08:03:14 2019 -0700 wip: cleanup and add debug/logging util commit a2a8dfcbd30d53bdac170e057605a683f3f30323 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:58:14 2019 -0700 wip: don't exit engine when checking tray in dup mode Android tends to abort the search because it has UI events unprocessed. I'm hoping it's generally so quick that this is ok. If not, I'll need to be more clever, e.g. adding an option to end the search after finding only one move rather than the best move. commit 44c7528995327c9653dc69f60986f18442e232de Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:47:04 2019 -0700 wip: fix broken compile commit 1bbc1607914993565c86d8b86da78b490e08d3f4 Author: Eric House <xwords@eehouse.org> Date: Wed Jun 5 07:18:24 2019 -0700 wip: fix pool having too many tiles when engine busy Bad loop structure meant I exited only after replacing in pool tiles I was actually keeping. commit 021f5afc8d4a871d42aa619be02b80fab7e2415c Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:31:34 2019 -0700 wip: don't include number of players figuring pass count otherwise we wait too long for duplicate mode game to end commit 1294b3bb0a4272e0bfb87f81ef5f9fe957d78b2e Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:30:41 2019 -0700 wip: log tile sets in and out commit a01c50405e1edcfba4bb2fc89f4df0801226f5d5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:29:32 2019 -0700 wip: no longer generate trades randomly commit aeae0164c3c7e940430d72c000e2a66baf5f1dd5 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 19:19:06 2019 -0700 wip: figure bits-per-tile correctly commit cb3bb8d55b9cae577941ab8707a91566f42a14f9 Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 09:12:52 2019 -0700 log service stalls that don't trigger notification I'm seeing RelayService never get scheduled, and need to see something in the logs. commit a8e0b43d004b2556ab4b22ab52be0ad7e3ddb45d Author: Eric House <xwords@eehouse.org> Date: Tue Jun 4 08:52:49 2019 -0700 wip: flag dup-mode games and nuke all on demand Add a bit to a summaries table field so dup-mode games can be identified. Add disabled code to nuke them all without attempting to open, something that still needs doing on occasion. commit 4e4bcd5d4590d0b429405a6a0a5de10f1a29689d Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 17:39:21 2019 -0700 wip: get rid of new move types It's enough to know whether we're in duplicate mode at runtime, as confirmed by the assertions from the last commit. commit 7343ba3de1941a2b9d8fcd196506c9f62acbfe91 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 12:10:35 2019 -0700 wip: assert new move types are redundant Looks like I don't need them: I can know whether I'm in duplicate mode or not and interpret them appropriately. This commit is to check; next will remove the types. commit 07ae965094c720ebb71b2dd6c5e9a6facf854888 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:23:38 2019 -0700 wip: don't dup-trade when no tiles left in pool and don't count dup-trade as a pass when deciding whether to end game. commit b8cbfd0149f9c8e9854ae15dddc8328832f7d8a0 Author: Eric House <xwords@eehouse.org> Date: Mon Jun 3 11:00:38 2019 -0700 wip: trade when nobody can move Add a new move type, duplicate-trade. Generate and transmit one of those when none of the submitted moves scores any points. And for testing, randomly do it in DEBUG builds occasionally (should likely be a param passed by the test script instead.) Still generates a very few assertions run from the script, but worth snapshotting still. commit 41f0258619a1f3ab72abd3d908d0b6cf2f999978 Author: Eric House <xwords@eehouse.org> Date: Sun Jun 2 10:09:26 2019 -0700 add prefs settings to unhide dup mode and for new-game default For now, it should be hard to stumble onto it, so add a debug-only setting so that all options are hidden by default. And so if you are using it it's easier to use, add a new-game default setting (itself hidden at first via the above.) Eventually I suspect it'll be easier to find for French-localized devices. commit e152b407005e837eec4fe1f6ad552f55c157d877 Author: Eric House <xwords@eehouse.org> Date: Wed May 29 10:03:13 2019 -0700 cleanup commit 4439d8c3ea786b64dde554a25c62379bbea8347d Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:54:17 2019 -0700 fix obscure NPE (not duplicate-specific) commit 4c5b1fc25d74f0ab40072f0d1987234e78b05569 Author: Eric House <xwords@eehouse.org> Date: Tue May 28 06:44:57 2019 -0700 wip: fix NPE setting title too early commit cc06a3df70157e3fd4c5b7f12d3adc8cfb87aa1c Author: Eric House <xwords@eehouse.org> Date: Mon May 27 20:12:14 2019 -0700 wip: fix crashes and stalls script found I was using a non-local player's model as scratch then failing to fully update it before loading the winning tray in. commit 7010cd60af70965ac106072ca2eed91536c746d5 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:38:12 2019 -0700 wip: add strings where test script can find them for dup games commit 1349d300b74168e2cae3c564fcbcec6fb28264c3 Author: Eric House <xwords@eehouse.org> Date: Mon May 27 14:36:44 2019 -0700 wip: fix assert when no tiles in move commit 8a789ef9c32d4d90ef7f054dc8d863902edc34eb Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:55:03 2019 -0700 wip: mark duplicate games a bit Add "(dup.)" to game title and new string to the commit confirm alert. commit 4ac09cf8daf8752106d1edf9a90e0f12fe3bc80a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:51:39 2019 -0700 wip: fix tray-check bugs Needed to run the engine against the tray of the winning move, even if it wasn't local. Engines haven't existed for non-local players before so some assertions weren't happy. commit 99abae4d19383afe25a9fbe57960ec0f8530f49e Author: Eric House <xwords@eehouse.org> Date: Mon May 27 08:11:13 2019 -0700 fix to compile on Android commit 22a58978dd1a6d851a5f92557928d5418d42a57a Author: Eric House <xwords@eehouse.org> Date: Mon May 27 06:53:55 2019 -0700 fix breakage from too-eager refactoring commit d2f1a8d7c2c90e94bc00b170d69faa6f9b3e69e1 Author: Eric House <xwords@eehouse.org> Date: Sun May 26 19:51:21 2019 -0700 wip: refetch new tiles if current tray doesn't allow any moves commit c4c916c9f96231d9a2fd085df1aef8b54237ab4f Author: Eric House <xwords@eehouse.org> Date: Sat May 25 13:34:24 2019 -0700 wip: add logging trying to catch stall commit 8355236bdc5b34e5a58594dfec982cf0cd3daa8a Author: Eric House <xwords@eehouse.org> Date: Fri May 24 06:54:04 2019 -0700 wip: include dupMode in BT and SMS invitations Add it to the json and url read/write code so other invitation types also work. commit b8fb1d4c89285e0516aa55f830954dac16dbe7cc Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:34:33 2019 -0700 add option to have all robots at full smartness as a test of duplicate, makes all scores the same commit e653ad39284c5ba071e74a521a91d5bb21fbe320 Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:55 2019 -0700 wip: fix method-name parens assert printf commit fca3c06ff3007c3095128b27040d87e82eddf79b Author: Eric House <xwords@eehouse.org> Date: Thu May 23 20:33:37 2019 -0700 wip: remove some logging commit 1a89b105d34ba0af2048b7693a3fdbeda7783070 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 19:43:52 2019 -0700 wip: add ability to run test app in duplicate mode Doesn't come close to passing :-( commit 308baf2a8b2cbdc1212cff17811ee6f750c67099 Author: Eric House <xwords@eehouse.org> Date: Wed May 22 16:47:20 2019 -0700 wip: report scores when move over (sorted by score) Still need to made the strings localizable. commit 2db4bdceaba990f34dd32afb16f9d4bd04fd8cdc Author: Eric House <xwords@eehouse.org> Date: Wed May 22 13:57:45 2019 -0700 wip: fix problems opening old-version move stacks Since the stack's not rewritten each time it's saved (moves stay in the stream) the versioning scheme can't work. Instead use an extra bit to store whether the stack uses the new format requiring an extra bit for moveType. commit 1df8e1754e35b784be2070c8416c6f5038fa65a7 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:48:31 2019 -0700 wip: fix end-of-game message and initial turn assignment commit 4548435b36e9f9165b66832b93707a0b7e00f876 Author: Eric House <xwords@eehouse.org> Date: Tue May 21 18:10:48 2019 -0700 wip: UI doesn't need to always show the same turn Figure what "turn" it is based on what candidate moves have been reported locally. Fixes Android not showing games as needing attention on all devices. commit 4a93f4b4528eabcef41bdfd67517bba4d1479407 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 21:37:22 2019 -0700 wip cleanup commit f8184783bc9a8914310c39c54084e5fe492694a7 Author: Eric House <xwords@eehouse.org> Date: Mon May 20 20:26:08 2019 -0700 wip: split method commit 0d7d68737843017ecbc08dba87d881dabf7098ff Author: Eric House <xwords@eehouse.org> Date: Mon May 20 19:49:33 2019 -0700 wip: update scoreboard and end game correctly commit d5d95424314b2e18c95f0a43eaa1759b3a7c6b5a Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:15:56 2019 -0700 wip: don't allow trade in dup mode commit 8b102c0a8e5c0b39cc5b29aea16a5985a0e402c6 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 21:09:30 2019 -0700 wip: get building/limping along on Android parity with GTK, basically. commit 16cfc6b0bb1bb01ee801ccec2116eac94e16fdab Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:57:45 2019 -0700 wip: break point tie based on word length commit 66dce87d98dce21d7616cc79c32ee88e8fbbb537 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 17:12:28 2019 -0700 wip: fix networked games commit 33ba891082a9d59a90115357194841f8fa0532f8 Author: Eric House <xwords@eehouse.org> Date: Sun May 19 16:28:46 2019 -0700 wip: fix problems updating model Simplest test case now works: two-player one-device game in duplicate mode can make a bunch of turns. Save/restore of game works. All on gtk; Android likely doesn't build. commit 33080c1014e40af0858a1d89168ffd52d1efd400 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:38:37 2019 -0700 wip: tweak commit of dup move commit 65f06a216441624f811d1abb2e31955fb979b5c5 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 10:23:08 2019 -0700 wip: correctly update board with dup move and fix crash when move stack created with wrong version commit 4be132686b64cf6c49e541ad7df76bb7b753b3ce Author: Eric House <xwords@eehouse.org> Date: Sat May 18 09:10:31 2019 -0700 wip: update scores correctly when loading stack commit 107f7b2a6708c1129f8fd67dc2deecb9e19a0606 Author: Eric House <xwords@eehouse.org> Date: Sat May 18 08:40:29 2019 -0700 wip: add dupe-mode move to move stack Add new move entry type including a move and new tiles plus the scores for all players. Reflect move and tiles when loading from file. Next: figure out what to do with the scores. commit 6c05fe87d3ddae3e74edf0621df40dd083c9bebb Author: Eric House <xwords@eehouse.org> Date: Fri May 17 10:20:18 2019 -0700 wip: identify highest-scoring word commit 4e498f754d637a15c63ec8498bad35c58f348a45 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 21:34:04 2019 -0700 wip: transmit client dupe-mode moves to server and fix failure to get dupe flag into server on client side commit 225b0f579d0c9aae85f439739d686b8afda7b6e3 Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:54:41 2019 -0700 wip: invitation works to assign tiles Include in nli sent across that we're in DUPLICATE mode. When sending and receiving assigned tiles in that mode, send only one set and remove from pool only once. But: games don't always connect, which might or not be due to these changes. Next: handle commit by sending the move but not a new tray. commit 7e7b5d65e2fd4ccaf6657d88c9c9e1c59adc8c4f Author: Eric House <xwords@eehouse.org> Date: Thu May 16 19:46:25 2019 -0700 wip: remove excessive logging commit 8afc11dc54c5aa145066729594fb741cf9e51c2c Author: Eric House <xwords@eehouse.org> Date: Thu May 16 08:15:20 2019 -0700 wip: accumulate local turns Track whether players have committed turns yet. Once all have notice (but do nothing yet). commit d7697fba6f7bffc37d2ee09d9b397c1bb04cdf4b Author: Eric House <xwords@eehouse.org> Date: Wed May 15 22:24:04 2019 -0700 wip scoreboard shows it can be multiple players' turns modify how scoreboard is drawn. next: let players commit until all are done commit eaa551d1d587fba90bb6cf960b4321949d173ef5 Author: Eric House <xwords@eehouse.org> Date: Wed May 15 20:05:25 2019 -0700 wip: add duplicate checkbox and assign same tiles to all next: make it everybody's turn until it's nobody's. This is all in standalone mode for now.
2020-01-31 01:00:56 +01:00
if ( !inDuplicateMode( server ) ) {
XP_UCHAR buf2[64];
XP_SNPRINTF( buf2, sizeof(buf2), XP_CR " (%d %s%s)",
model_getPlayerScore( model, thisIndex ),
tmpbuf, timeStr );
XP_STRCAT( buf, buf2 );
}
if ( 1 < place ) {
stream_catString( stream, XP_CR );
}
stream_catString( stream, buf );
/* Don't consider this one next time around */
scores.arr[thisIndex] = IMPOSSIBLY_LOW_SCORE;
2003-11-01 06:35:29 +01:00
}
} /* server_writeFinalScores */
#ifdef CPLUS
}
#endif